14:49

fail better
нужно по http-запросу php-скриптом отдать пустой ответ (0 байт), а через какое-то время (минуты-часы) отработать какой-то код.

(во всём виноват www.imified.com и его простой апи для создания im-ботов, который вываливает клиенту ошибку, если от бота полминуты нет ответа.)

URL
Комментарии
13.09.2009 в 15:00

 
мм) конфигурация хостинга, на кот. будет запускаться, примерно известна?

навскидку, самые банальные варианты:

1) один скрипт принимает запрос, складывает нужные данные в базу/файл, дает нулевой ответ и отрубается;
второй запускается планировщиком (cron) - периодичность запуска придумать, исходя из конкретной задачи, - читает данные и делает свое черное дело.

2) один скрипт принимает запрос, делает по HTTP асинхронный запрос другому скрипту (т.е. запрос отправляет, ответ сервера не читает), дает нулевой ответ и отрубается;
второй - должен убедиться, что он не отключится после сброса входящего соединения (см. ignore_user_abort()) и по таймауту (см. set_time_limit()), проспать до нужного времени (sleep()) и сделать свое дело.
Тонкости в этих двух проверках - на виртуальных хостингах изменение подобных параметров нередко запрещено. (Иногда смена таймаута не сработает, например - если Apache сидит за nginx.)

Подойдет что-нибудь? Могу расписать подробнее заинтересовавший вариант.
13.09.2009 в 19:01

fail better
La personne mystique, спасибо, второй вариант кажется более подходящим, попробую.

Обычный виртуальный хостинг, php 4.6, в настройки кроме .htaccess сунутся не получится.
13.09.2009 в 19:12

 
bokonist, ОК. Тогда основная рекомендация - убедиться сначала, что второй скрипт доживет до нужного момента, а потом уже писать основной алгоритм. )
Бывает еще, что на виртуальных серверах ночью или утром прибивают давно висящие ("зависшие") скрипты, тогда - все-таки с планировщиком.

Расширенная форма

Редактировать

Подписаться на новые комментарии
Получать уведомления о новых комментариях на E-mail