Назад | Перейти на главную страницу

Пакет Supervisor не запускает процессы в Ubuntu 16.04

Я установил Supervisor пакет для Ubuntu, поскольку кто-то порекомендовал мне здесь, на serverfault, чтобы все мои процессы всегда работали.

Но после двух дней использования я увидел supervisorctl команда: 4 процесса из 10 имеют фатальную ошибку и не работают.

...
sync   FATAL     Exited too quickly (process log may have details)

Я перезапустил все процессы, и они были успешно восстановлены. Так почему Supervisor не сделал этого? Как настроить постоянное восстановление нарушенных процессов? Или что мне следует использовать, чтобы продолжать попытки восстановления процессов все время без какого-либо тайм-аута, даже если процесс все время будет давать сбой? Поскольку соединение с базой данных может быть восстановлено даже через 8 часов, он должен постоянно пытаться связаться с базой данных, не завершая работу.

Так почему же Supervisor этого не сделал?

Супервизор действительно пытался перезапустить ваши процессы, но они завершились слишком быстро, поэтому он отказался от выполнения заданного количества попыток.

Как настроить постоянное восстановление нарушенных процессов?

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

Или что мне следует использовать, чтобы продолжать попытки восстановления процессов все время без какого-либо тайм-аута, даже если процесс все время будет давать сбой?

Не делайте этого - исправьте все, что мешает правильной работе процесса. Бездумный перезапуск никуда вас не приведет. Если вам действительно нужно такое поведение (что сомнительно), изучите службы systemd.