@AlmazKayum

Почему скрипт, запущенный через systemd, зависает?

Всегда запускал свои Python-скрипты через nohup, они частенько падали, тут на «Тостере» посоветовали запускать скрипты как системный процесс с помощью systemd.

Настроил работу, используя статью https://jeckill.ru/zapusk-python-skripta-kak-servis/

Но скрипты как зависали, так и зависают. Что имею ввиду под зависают. То есть скрипт под телеграм-бота работал-работал, а затем просто перестал принимать обновления, без каких либо ошибок в логах.
systemctl start *.service не помогает, т.к. служба итак включена, но не работает.
Помогает только
systemctl restart *.service
Зависают скрипы каждые 2-3 дня. Поэтому проблему откладывать нельзя.
Как думаете, в чем может быть причина?
  • Вопрос задан
  • 1231 просмотр
Пригласить эксперта
Ответы на вопрос 1
Советую запускать сервисы на Python через Supervisord (по старинке) или Circus, и предусмотреть в коде частные случаи.

Причина: В реальной жизни есть масса тонкостей, такие как наличие зависимых сервисов и порядок запуска, отсутствие доступа к сети, отсутствие прав к ФС, сети и т.д., ... Указанные продукты позволят настроить многие из указанных моментов, а так же как указал Pavel Denisov timeout для них и логирование.

Если не хотите вводить еще одну зависимость в свой продукт, то в файле описания сервиса systemd, можно указать некоторые правила для запуска сервиса
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы