Как увеличить время ожидания для cronjob /crontab?

Я написал скрипт, который получает данные от solr , дата которых находится в пределах указанного периода, и я запускаю скрипт, используя ежедневный cron.

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

Как мне увеличить время ожидания cronjob?

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

12 голосов | спросил 4 revs, 2 users 67%
Mohit Ranka
1 Jam1000000amThu, 01 Jan 1970 03:00:00 +030070 1970, 03:00:00

2 ответа


0

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

ответил one giant media 6 SunEurope/Moscow2009-12-06T02:32:00+03:00Europe/Moscow12bEurope/MoscowSun, 06 Dec 2009 02:32:00 +0300 2009, 02:32:00
0

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

Из справочной страницы bash:

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

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


Кстати: извините, что опубликовал это как ответ, но у меня пока недостаточно очков для добавления комментариев.

ответил one giant media 6 SunEurope/Moscow2009-12-06T02:32:00+03:00Europe/Moscow12bEurope/MoscowSun, 06 Dec 2009 02:32:00 +0300 2009, 02:32:00

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132