У меня есть несколько рабочих Python, которым управляет супервизор, который должен непрерывно печатать на stdout (после каждой завершенной задачи), если они работают правильно. Тем не менее, они, как правило, висят, и нам трудно найти ошибку. В идеале супервизор заметил бы, что они не печатали за X минут и перезапускали их; задачи являются идемпотентными, поэтому неграмотные перезагрузки в порядке. Есть ли функция супервизора или аддон, которые могут это сделать? Или другая супервизорная программа, которая имеет это из коробки?
Мы уже используем http://superlance.readthedocs.io/en/latest/memmon.html, чтобы убить, если использование памяти растет, что смягчает некоторые зависания, но зависает, что не причиной утечки памяти может все же стать причиной остановки рабочих.