Size: a a a

Bauhaus design dev chat – Дизайн чат UI/UX, Product, графический, вдохновение, логотипы, мемы, юмор, разработка, python, develop

2021 February 14

NK

ID:0 in Bauhaus design dev chat – Дизайн чат UI/UX, Product, графический, вдохновение, логотипы, мемы, юмор, разработка, python, develop
На днях столкнулся с OOM Kill (система убивает прогу из-за нехватки оперативки). Программа ресурсоемкая, а на сервере всего 1 гб оперативы. Может есть утечка памяти, разбираюсь.

Когда происходит такое "убийство" программы, я не могу узнать об этом факте, а узнать нужно (чтобы сохранить логи и перезапустить прогу). Я +- 24 часа думал над оптимальным решением мониторинга этого события.

Простейшим вариантом было, конечно, запустить вторую программу и по идентификатору процесса следить не "умерла" ли прога. Но мне не хотелось чтобы это была отдельная прога, потому что это как минимум усложнит архитектуру сервиса и сложно будет и запускать и управлять процессами другой проги из основной.

Что я сделал:

Отправку себе в телеграм отложенного сообщения через 2 мин с текстом "OOM Kill" и запускаю цикл, где изменяю дату отправки сообщения на 2 мин вперед.

И если не произойдет "переотложка", значит что программа не работает и я получу сообщение спустя 2 мин после остановки программы.
источник

I

InfinityGeek in Bauhaus design dev chat – Дизайн чат UI/UX, Product, графический, вдохновение, логотипы, мемы, юмор, разработка, python, develop
ID:0
На днях столкнулся с OOM Kill (система убивает прогу из-за нехватки оперативки). Программа ресурсоемкая, а на сервере всего 1 гб оперативы. Может есть утечка памяти, разбираюсь.

Когда происходит такое "убийство" программы, я не могу узнать об этом факте, а узнать нужно (чтобы сохранить логи и перезапустить прогу). Я +- 24 часа думал над оптимальным решением мониторинга этого события.

Простейшим вариантом было, конечно, запустить вторую программу и по идентификатору процесса следить не "умерла" ли прога. Но мне не хотелось чтобы это была отдельная прога, потому что это как минимум усложнит архитектуру сервиса и сложно будет и запускать и управлять процессами другой проги из основной.

Что я сделал:

Отправку себе в телеграм отложенного сообщения через 2 мин с текстом "OOM Kill" и запускаю цикл, где изменяю дату отправки сообщения на 2 мин вперед.

И если не произойдет "переотложка", значит что программа не работает и я получу сообщение спустя 2 мин после остановки программы.
едрить, а нахер так сложно? nodemon че бы не заюзать?
источник

I

InfinityGeek in Bauhaus design dev chat – Дизайн чат UI/UX, Product, графический, вдохновение, логотипы, мемы, юмор, разработка, python, develop
так а докер почему бы не заюзать тоже?
источник

v

via @apfel in Bauhaus design dev chat – Дизайн чат UI/UX, Product, графический, вдохновение, логотипы, мемы, юмор, разработка, python, develop
ID:0
На днях столкнулся с OOM Kill (система убивает прогу из-за нехватки оперативки). Программа ресурсоемкая, а на сервере всего 1 гб оперативы. Может есть утечка памяти, разбираюсь.

Когда происходит такое "убийство" программы, я не могу узнать об этом факте, а узнать нужно (чтобы сохранить логи и перезапустить прогу). Я +- 24 часа думал над оптимальным решением мониторинга этого события.

Простейшим вариантом было, конечно, запустить вторую программу и по идентификатору процесса следить не "умерла" ли прога. Но мне не хотелось чтобы это была отдельная прога, потому что это как минимум усложнит архитектуру сервиса и сложно будет и запускать и управлять процессами другой проги из основной.

Что я сделал:

Отправку себе в телеграм отложенного сообщения через 2 мин с текстом "OOM Kill" и запускаю цикл, где изменяю дату отправки сообщения на 2 мин вперед.

И если не произойдет "переотложка", значит что программа не работает и я получу сообщение спустя 2 мин после остановки программы.
Нет шоб юзать signal
источник

I

InfinityGeek in Bauhaus design dev chat – Дизайн чат UI/UX, Product, графический, вдохновение, логотипы, мемы, юмор, разработка, python, develop
InfinityGeek
так а докер почему бы не заюзать тоже?
собрать образ, потом в докер композ для перезапуска restart always, он будет сам перезапускаться, так ты еще и лимит оперативы можешь настроить. чтобы получать уведомления, можешь statping, но надо, чтобы в твоей приложухе был эндпоинт
источник

v

via @apfel in Bauhaus design dev chat – Дизайн чат UI/UX, Product, графический, вдохновение, логотипы, мемы, юмор, разработка, python, develop
InfinityGeek
собрать образ, потом в докер композ для перезапуска restart always, он будет сам перезапускаться, так ты еще и лимит оперативы можешь настроить. чтобы получать уведомления, можешь statping, но надо, чтобы в твоей приложухе был эндпоинт
"я этого ещё не изучал, поэтому пишу дикие костыли"
источник

🚲U

🚲 Oleh Kopyl UI/UX d... in Bauhaus design dev chat – Дизайн чат UI/UX, Product, графический, вдохновение, логотипы, мемы, юмор, разработка, python, develop
InfinityGeek
едрить, а нахер так сложно? nodemon че бы не заюзать?
Во-первых это же не для питона
источник

🚲U

🚲 Oleh Kopyl UI/UX d... in Bauhaus design dev chat – Дизайн чат UI/UX, Product, графический, вдохновение, логотипы, мемы, юмор, разработка, python, develop
via @apfel
Нет шоб юзать signal
Как?
источник

🚲U

🚲 Oleh Kopyl UI/UX d... in Bauhaus design dev chat – Дизайн чат UI/UX, Product, графический, вдохновение, логотипы, мемы, юмор, разработка, python, develop
InfinityGeek
собрать образ, потом в докер композ для перезапуска restart always, он будет сам перезапускаться, так ты еще и лимит оперативы можешь настроить. чтобы получать уведомления, можешь statping, но надо, чтобы в твоей приложухе был эндпоинт
Нет, ты не понял. Нельзя допускать перезапуски на ошибках, которые можно обработать в питоне
источник

I

InfinityGeek in Bauhaus design dev chat – Дизайн чат UI/UX, Product, графический, вдохновение, логотипы, мемы, юмор, разработка, python, develop
🚲 Oleh Kopyl UI/UX designer
Нет, ты не понял. Нельзя допускать перезапуски на ошибках, которые можно обработать в питоне
а как ты их можешь не допустить, если это оом килл. не понимаю
источник

I

InfinityGeek in Bauhaus design dev chat – Дизайн чат UI/UX, Product, графический, вдохновение, логотипы, мемы, юмор, разработка, python, develop
🚲 Oleh Kopyl UI/UX designer
Во-первых это же не для питона
неправда
источник

🚲U

🚲 Oleh Kopyl UI/UX d... in Bauhaus design dev chat – Дизайн чат UI/UX, Product, графический, вдохновение, логотипы, мемы, юмор, разработка, python, develop
InfinityGeek
а как ты их можешь не допустить, если это оом килл. не понимаю
Ну вот мне нужно перезапускать исключительно на оом, а не на какой-то дичи типа ошибка json сериализации, проблемы со сторонними библиотеками или ещё что
источник

I

InfinityGeek in Bauhaus design dev chat – Дизайн чат UI/UX, Product, графический, вдохновение, логотипы, мемы, юмор, разработка, python, develop
🚲 Oleh Kopyl UI/UX designer
Ну вот мне нужно перезапускать исключительно на оом, а не на какой-то дичи типа ошибка json сериализации, проблемы со сторонними библиотеками или ещё что
так если ты эти ошибки проработаешь в питоне условным try catch, то он и не перезапустится. restart always срабатывает только, если приложение убито
источник

🚲U

🚲 Oleh Kopyl UI/UX d... in Bauhaus design dev chat – Дизайн чат UI/UX, Product, графический, вдохновение, логотипы, мемы, юмор, разработка, python, develop
InfinityGeek
так если ты эти ошибки проработаешь в питоне условным try catch, то он и не перезапустится. restart always срабатывает только, если приложение убито
Так а если не проработаю?

По твоему все ошибки можно заранее предугадать?
источник

I

InfinityGeek in Bauhaus design dev chat – Дизайн чат UI/UX, Product, графический, вдохновение, логотипы, мемы, юмор, разработка, python, develop
🚲 Oleh Kopyl UI/UX designer
Так а если не проработаю?

По твоему все ошибки можно заранее предугадать?
ну тогда будет даунтайм, а оно разве тебе нужно?
источник

🚲U

🚲 Oleh Kopyl UI/UX d... in Bauhaus design dev chat – Дизайн чат UI/UX, Product, графический, вдохновение, логотипы, мемы, юмор, разработка, python, develop
Что за даунтайм?
источник

🚲U

🚲 Oleh Kopyl UI/UX d... in Bauhaus design dev chat – Дизайн чат UI/UX, Product, графический, вдохновение, логотипы, мемы, юмор, разработка, python, develop
InfinityGeek
ну тогда будет даунтайм, а оно разве тебе нужно?
Программа не будет работать хочешь сказать?
источник

I

InfinityGeek in Bauhaus design dev chat – Дизайн чат UI/UX, Product, графический, вдохновение, логотипы, мемы, юмор, разработка, python, develop
ну если у тебя в докере наебнулось приложение и ты его не перезапустил, то да
источник

I

InfinityGeek in Bauhaus design dev chat – Дизайн чат UI/UX, Product, графический, вдохновение, логотипы, мемы, юмор, разработка, python, develop
произошла условная ошибка, что json пришел уебанский, прога наебнулась и не перезапустилась
источник

🚲U

🚲 Oleh Kopyl UI/UX d... in Bauhaus design dev chat – Дизайн чат UI/UX, Product, графический, вдохновение, логотипы, мемы, юмор, разработка, python, develop
InfinityGeek
ну если у тебя в докере наебнулось приложение и ты его не перезапустил, то да
Вот и отлично. Я же не дурак запускать приложение, которое мне сообщило о потенциальной ошибке. Мне же нужно пофиксить а затем делать перезапуск.

Первый день в разработке?

Предположим, классическая ситуация – в API поменяли что-то и у тебя теперь ничего не работает. Нафига его перезапускать, если оно и так не рабочее? о_О
источник