crontab с php запущен, но иногда это не заканчивается - PullRequest
0 голосов
/ 26 января 2011

Я запускаю задание cron, которое запускает командную строку php к сценарию, который будет вызывать веб-сервис и вставлять данные в базу данных примерно на 7 часов в день. Странно то, что иногда это никогда не кончалось.

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

В моем crontab запущен скрипт bash, который запускается примерно каждые 7 часов

php run.php >> "run.html"

Ситуация сейчас иногда такова, что в моем файле run.html ничего не написано. 0 байт.

Когда он работает, к этому процессу привязан pid. Но после 7 часов, когда ничего не пишется в run.html, проверяя процесс снова (используя команду ps -eo pid, lstart, etime, cmd | grep php), я понимаю, что процесс уже завершен.

У меня нет времени, это проблема тайм-аута, поскольку в php_errors.log нет ошибок, и я уже установил в своем скрипте

 ini_set ("memory_limit",0);

Какими еще причинами это может быть?

1 Ответ

0 голосов
/ 26 января 2011

В зависимости от того, кто размещает ваш веб-сервер, вполне возможно, что какой-то администратор либо перезагрузит ваш сервер, либо просто убьет ваш длительный процесс. (Возможно, он принимает его за зомби?)

Я проделал большую работу на сайтах, которые размещены на общих серверах, и, по моему опыту, проблемы такого рода встречаются довольно часто. Это тоже своего рода боль, учитывая, что проблема не техническая, и все, что вы действительно можете сделать, это перейти на другой хост.

Так что вы можете посмотреть на это. Отправьте своему хостинг-провайдеру электронное письмо и посмотрите, смогут ли они пролить свет на ситуацию для вас.

Удачи.

...