@AlmazKayum

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

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

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

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

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

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

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

Войти через центр авторизации
Похожие вопросы
15 авг. 2022, в 15:59
5000 руб./за проект
15 авг. 2022, в 15:41
5000 руб./за проект
15 авг. 2022, в 15:39
500 руб./за проект