2009-03-01 4 views
11

Я написал сценарий, который получает данные от solr, для которых дата указана в течение указанного периода, и я запускаю скрипт, используя ежедневный cron.Как увеличить тайм-аут для cronjob/crontab?

Проблема заключается в том, что cronjob не выполняет задачу. Если я запускаю скрипт вручную (за тот же период времени), он работает хорошо. Если я сокращаю указанный период времени, скрипт также запускается из cron. Так что моя догадка - cronjob - это тайм-аут при запуске скрипта, есть много данных для обработки.

Как увеличить таймаут для cronjob?

PS - 1. Сценарий, который я запускаю в cronjob, является скриптом bash, который запускает скрипт python.

ответ

5

Перед запуском скрипта вы можете попытаться использовать ulimit -t [число секунд] в cronjob.

18

Обратите внимание, что предлагаемое решение ulimit -t ограничит количество используемого времени ЦП, а не количество пройденного фактического времени.

bash Из страницы руководства:

ulimit [-HSTabcdefilmnpqrstuvx [limit]] 
... 
-t  The maximum amount of cpu time in seconds 

И что еще более важно, хрон не накладывает каких-либо тайм-аута в первую очередь. Он просто запускает любой процесс и движется дальше.


BTW: Извините, для публикации этого объявления в качестве ответа, но у меня недостаточно баллов, чтобы добавить комментарии.

Смежные вопросы