Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Непрерывная работа php-скрипта

27K
02 июля 2008 года
varilke
36 / / 04.05.2008
Требуется обеспечить непрерывную работу серверной утилиты на php, при условии, что ее могут принудительно остановить. Придумал следующее решение:
1. Во время своей работы скрипт каждые 20 секунд устанавливает время изменения файла flag равным текущему системному времени.
2. При запуске скрипта происходит проверка: если файл flag существует и его время изменения отличается от системного меньше, чем на 21 секунду, то скрипт не запускается.
3. Скрипт запускается кроном каждую минуту.

1. Правильно ли это?
2. Как заставить скрипт делать что-либо дополнительное каждые 20 секунд, независимо от своей основной деятельности и внутренних задержек?
32K
03 июля 2008 года
coroner
18 / / 09.11.2007
в принципе такой принцип тоже имеет место быть,единственное но-нужно быть уверенным что скрипт отработает быстрее минуты:)
32K
03 июля 2008 года
coroner
18 / / 09.11.2007
также можно поглядеть в сторону posix :)
была схожая задача, но скрипт мог работать от 2 сек до 5 часов..поэтому отказался от этой затеи.
озвучь задачу-может чем подмогну
2
03 июля 2008 года
squirL
5.6K / / 13.08.2003
рекомендую посмотреть в сторону утилит supervise, svc из комплекта daemon-tools. они сами выполняют всю работу по отслеживанию работы демона, поднятию его при падении и т. п.
27K
03 июля 2008 года
varilke
36 / / 04.05.2008
Цитата: coroner
в принципе такой принцип тоже имеет место быть,единственное но-нужно быть уверенным что скрипт отработает быстрее минуты:)


Зачем быстрее минуты? Ведь копия скрипта, запустившись, увидит свежий флаг и сразу прекратит свою работу.

Задача проста: скрипт должен работать круглые сутки.

27K
03 июля 2008 года
varilke
36 / / 04.05.2008
Цитата: squirL
рекомендую посмотреть в сторону утилит supervise, svc из комплекта daemon-tools. они сами выполняют всю работу по отслеживанию работы демона, поднятию его при падении и т. п.


Нашел http://cr.yp.to/daemontools.html Но, позволит ли какой-нибудь виртуальный хостинг использовать это? Или только VPS и выделенный?

304
03 июля 2008 года
Fenyx
707 / / 26.01.2005
Не совсем понял задачу, зачем нужен крон... делаешь бесконечный цикл со слипами если нужно, и выход из цикла, например file_get_contents("semafor.txt") если 1 продалжаем работу если 0 выходим, останавливаем выполнение соответственно изменением значения в файле.
Если скрипт уж очень критичный при написании класса делаем деструкт и устанавливаем что бы при завершении работы скрипта значение менялось на 2 например, и кроном запускаем другой скриптец проверки если 2 запустить по новой, если 1 или 0 ничего не делать.
27K
03 июля 2008 года
varilke
36 / / 04.05.2008
Цитата: coroner
также можно поглядеть в сторону posix


Нашел демона на PHP Там используются правильные технические решения? Зачем так сложно?

27K
03 июля 2008 года
varilke
36 / / 04.05.2008
Цитата: Fenyx
Не совсем понял задачу, зачем нужен крон... Если скрипт уж очень критичный... кроном запускаем другой скриптец


Крон нужен, чтобы запустить скрипт вновь, если его остановил администратор.

17K
23 сентября 2014 года
resset
1 / / 02.11.2007
Всё внрно, по крону на минуте, таймштамп в сторонем файле. И ещё одна весчь! Утечка памяти. Следить чтоб скрипт сам себя перезапускал при превышении памяти. Можно к таймштампу подмесить PID процесса. Так работает у нас круглосуточно парсер.

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог