запуск очень длинных скриптов - как сохранить их работоспособность и запустить их снова, если они потерпят неудачу? - PullRequest
1 голос
/ 07 сентября 2011

Мне нужно запустить несколько длительных процессов на сервере CENTOS.

Если я оставляю процессы (скрипты python / php) для запуска, иногда процессы останавливаются из-за тривиальных ошибок, например. проблемы с кодировкой строки или иногда , потому что процесс, кажется, прерывается сервером .

Я пытаюсь использовать nohup и запускать задания из crontab

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

Я знаю, что могу запрограммировать это в код, но предпочел бы обобщенную утилиту, которая могла бы просто поддерживать эти вещи, чтобы скрипт завершался, даже если были тривиальные ошибки.

Возможно, мне нужен какой-то инструмент управления процессами?

Большое спасибо за любые предложения

1 Ответ

3 голосов
/ 07 сентября 2011

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

Да. Это называется созданием «контрольной точки» или «сувенира».

я знаю, что могу запрограммировать это

Хорошо. Начать. Каждая проблема уникальна, поэтому вы должны создавать, сохранять и перезагружать сувениры.

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

Это не обобщает хорошо. Не все переменные могут быть сохранены. Только вы знаете, что требуется для значительного перезапуска процесса.

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

Не совсем.

тривиальные ошибки, например. проблемы кодирования строк

Обычно мы находим их при модульном тестировании. Это экономит много программирования, чтобы обойти ошибку. Унция профилактики стоит фунта глупых обходных путей.

иногда из-за того, что сервер, похоже, убивает процесс.

Что? Тебе лучше узнать почему. Унция профилактики стоит фунта глупых обходных путей.

...