Cron перезапускает задание

Miklucho nginx-forum at nginx.us
Fri Feb 28 20:58:47 UTC 2014


Здравствуйте.
Проблема - некоторые задачи в кроне, а именно те, что выполняются более 15
минут, перезапускаются бесконечное число раз каждые 15 минут.

Например, такой код:Код PHP
$fh = fopen("test".time(), "a+t");
fclose($fh);
sleep(1200);//20 минут


Т.е. создается 1 файл, потом 20 минут sleep и завершение работы. 
При ручном запуске скрипта через браузер, скрипт как положено отрабатывает
20 минут и завершается создавая 1 файл.
При запуске кроном командой "wget -O /dev/null -q
'http://example.com/phptest.php'" первые 15 минут отрабатываются нормально,
но потом происходит следующее:
1. в server-status появляется второй процесс /phptest.php
2. Создается 2-й файл "test".time()

Еще через 5 минут старый скрипт /phptest.php завершается, далее второй
работает еще 10 минут, после этого в server-status появляется новый процесс
/phptest.php и 3-й файл "test".time()
И так до бесконечности. Т.е. каждый новый процесс порождает себе "потомка",
который в свою очередь порождает своего "потомка" и т.д. и т.п.

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

PS: понимаю что не совсем по теме вопрос, но на вашем форуме уже не раз мне
помогали, надеюсь на помощь и в этот раз.

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,248010,248010#msg-248010



Подробная информация о списке рассылки nginx-ru