Ответ 1
Вы можете попытаться использовать ulimit -t [число секунд] в cronjob перед запуском script.
Я написал script, который получает данные из solr, для которых дата находится в течение указанного периода, и я запускаю script используя как ежедневный cron.
Проблема заключается в том, что cronjob не выполняет задачу. Если я вручную запускаю script (за тот же период времени), он работает хорошо. Если я сокращаю указанный период времени, script также запускается из cron. Таким образом, моя догадка - cronjob - это тайм-аут при запуске script, есть много данных для обработки.
Как увеличить тайм-аут для cronjob?
PS - 1. script Я запущен в cronjob - это bash script, который запускает python script.
Вы можете попытаться использовать ulimit -t [число секунд] в cronjob перед запуском script.
Обратите внимание, что предлагаемое решение ulimit -t
ограничивает количество используемого времени процессора, а не количество фактического времени, которое прошло.
Из bash
manpage:
ulimit [-HSTabcdefilmnpqrstuvx [limit]]
...
-t The maximum amount of cpu time in seconds
И что еще более важно, cron не налагает никаких тайм-аутов в первую очередь. Он просто запускает любой процесс и движется дальше.
BTW: Извините, что разместил это как ответ, но у меня недостаточно баллов, чтобы добавлять комментарии.