алгоритм - а-ля крон, как убивать затянувшиеся процессы

GNU

Guest
алгоритм - а-ля крон, как убивать затянувшиеся процессы

задача:

1) wget дергает пхп файл, который начинает выполнять действия, длительность выполняемых действий заранее неизвестна, как правило, составляет, скажем 300 сек, но, может затянуться и дольше

2) пока действия не завершены, дергать файл снова не имеет смысла, но можно смело полагать, что если прошло 300 сек, а файл все еще выполняется - толку от него уже не будети надо дергать заново

3) (не существенно) wget в кроне настроен на запуск каждые 5 минут

вопрос: как прервать слишком долго выполняющийся процесс, можно ли это сделать из другого скрипта?

очевидный ответ
PHP:
set_time_limit(300)
известен и понятен, есть ли другие варианты, на случай переменного времени выполнения - т.е. когда прерывать нужно, в зависимости от полученных данных, через 4-5-6-7 минут и т.п.
 

Tor

Новичок
pcntl_fork,
ждешь скока надо и posix_kill

во время ожидания можно обмениваться информацией между скриптами
 

ys

отодвинутый новичок
GNU


> очевидный ответ
> set_time_limit(300)

Для wget может быть и не такой очевидный, судя по Note в http://ru.php.net/manual/en/function.set-time-limit.php
насчет system();
 

GNU

Guest
я вгетом дергаю с пхп скрипт с другого сервера, конец файла - конец дерганья, т.е. все нормально,
спасибо за комментарий
 
Сверху