February 28, 2014 03:58PM
Здравствуйте.
Проблема - некоторые задачи в кроне, а именно те, что выполняются более 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: понимаю что не совсем по теме вопрос, но на вашем форуме уже не раз мне помогали, надеюсь на помощь и в этот раз.
Subject Author Posted

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

Miklucho February 28, 2014 03:58PM

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

Валентин Бартенев February 28, 2014 06:28PM

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

Miklucho March 03, 2014 07:23AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 278
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready