Проверка, работает ли скрипт, и перезапуск его на PHP

A6
На сайте с 19.10.2007
Offline
25
1358

Есть скрипт, который генерирует текст и заливает текстовый файл по FTP :). Запускаю этот скрипт через крон, устанавливаю set_time_limit(0), но все равно по каким-то причинам он часто прерывается. Вообщем, нужно средствами PHP проверить, работает ли предыдущий скрипт, и если нет, то перезапустить его. Но как это сделать я не знаю.:gm: Подскажите, пожалуйста.

W
На сайте с 19.06.2006
Offline
142
#1

Если есть доступ к шеллу:

ps aux | grep (имя_скрипта).php

Если нет: пусть первый скрипт создает файл-метку. Если завершился - удаляет его. А его дети проверяют налиичие файла :)

Dreammaker
На сайте с 20.04.2006
Offline
569
#2
wayly:
А его дети проверяют налиичие файла

Я думаю, нужно проверять не столько наличие файла, а дату записанную в этот файл - при чём эта дата должна быть на несколько секунд больше чем период дёргания крона ( + какой-то флаг завершения). можно смотреть дату перезаписи файла, но я не люблю лишний раз дёргать всякого рода системные данные.

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

D
На сайте с 16.02.2008
Offline
11
#3
Alexan666:
Есть скрипт, который генерирует текст и заливает текстовый файл по FTP :). Запускаю этот скрипт через крон, устанавливаю set_time_limit(0), но все равно по каким-то причинам он часто прерывается. Вообщем, нужно средствами PHP проверить, работает ли предыдущий скрипт, и если нет, то перезапустить его. Но как это сделать я не знаю.😒 Подскажите, пожалуйста.

Подсказываю, смените говнохостинг ( сам терпеть не могу, когда хостеры понатворят незнамо что с сервером, присандалят output_buffering в 4к , и изменить это нельзя ... )

W
На сайте с 19.06.2006
Offline
142
#4

Это для примера было сказано. Хотя, в работе с многопроцессовыми скриптами так делал и буду делать, несмотря на минусы :)

Dreammaker:
Я думаю, нужно проверять не столько наличие файла, а дату записанную в этот файл - при чём эта дата должна быть на несколько секунд больше чем период дёргания крона ( + какой-то флаг завершения). можно смотреть дату перезаписи файла, но я не люблю лишний раз дёргать
всякого рода системные данные.

тогда зачем файлы открывать, изменять/читать, если можно использовать touch/fileatime ?

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий