Просмотр полной версии : как узнать запущен ли php скрипт в данный момент
как узнать запущен ли php скрипт в данный момент на сервере
как узнать запущен ли php скрипт в данный момент на сервере
На прямую не как не сделать, можно сделать так, при загрузки скрипта создаеться файл, при завершении удаляеться, и при загрузке другой версии скрипта проверятся сушествование файла. ДУмаю понятна логика.
возможно неплохая идея :) заплюсовал :)
сделай отсылку на мыло и какой-нить qip или magent поставь специально на этот ящик, при каждом запуске будешь оповещён
возможно неплохая идея
Да не "возможно", а точно. Во многих никсах используется та же идея, чтобы предотвратить повторный запуск демона, к примеру (pid-файлы в /var/run, которые также несут дополнительную информацию, как минимум о PID процесса).
ненадежный способ - приложение может недоработать до конца.
Проще сокет, к примеру, биндить и т.д.
программист должен предусмотреть, какие исключительные ситуации, приводящие к краху скрипта, могут возникнуть и грамотно их обработать. Так что ненадежность способа - вещь спорная.
ЗЫ. IMHO
biophreak
24.11.2008, 17:12
некоторые сигналы ты попросту обработать на ур-не приложения не сможешь )
программист должен предусмотреть, какие исключительные ситуации, приводящие к краху скрипта, могут возникнуть и грамотно их обработать. Так что ненадежность способа - вещь спорная.
я б заипался это делать.. особенно зная о ненадёжности хостинга.
судя по вопросу - скрипт должен работать достаточно долго. можно сделать ведение лога. в файле. а при повторном запуске проверять дату последнего изменения файла.
хороших идей сказали в избытке...думаю тему можно клозед
программист должен предусмотреть, какие исключительные ситуации, приводящие к краху скрипта, могут возникнуть и грамотно их обработать. Так что ненадежность способа - вещь спорная. И как? Например исключительная ситуация: скрипт убит другим процессом. Что делаешь в этом случае?
biophreak
25.11.2008, 00:37
Угу...nerezus прав....все исключительные ситуации ты не предусмотришь...есть много НО при которых ды даже ничего записать\удалить не сможешь )))
Как один из вариантов(его уже тут писали) - создавать заблокированный сокет,например, и потом проверять его(при убиении он должен освободиться)...
использовал способ нера :) всё гуд
Buffalon
26.11.2008, 15:04
ЗАписывай время в базу , потом сравнивай время ... .
спасибо, но вопрос УЖЕ РЕШЁН
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot