![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
mold |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 15.3.2003 Репутация: нет Всего: нет |
Приветствую!
У менятакой вопрос. Каким образом можно организовать сабж? тоесть.. при соединении с сервером для каждого пользователя поднимается отдельный демон httpd, который в свою очередь поднимает модуль РНР. когда РНР отрабатывает, он умирает передав результаты своей работы httpd, который передает их клиенту и тоже умирает. Каким образом можно зделать так, чтобы после отработки, модуль РНР и httpd поднятые специально для данного клиента не умирали, а ждали повторного его соединения. для чего это нужно. допустим у нас есть программа рассылки. скрипт должен соединиться с смтп сервером и читаю построчно из файла е-мэйл адресса говорить их серверу. после каждой 100-ни писем, он рвет соединение и ждет 3 минуты, чтобы дать смтп серверу передохнуть и справиться с поступившей почтой. так вот.. если писем в общей сложности 1000 или 2000, то для отработки скрипта потребуеться довольно большое время. браузеры под окошки не способны выдержать такой таймаут.. даже если импостоянно подбрасывать инфу. Так вот.. нужно сделать так, чтобы скрипт работал, а браузер не ждал его.. а отключался и через определенные промежутки времени вновь возовновлял соединение и получал накопившиеся результаты работы РНР. тоесть РНР должен жлдать очередного соединения браузера, но в то же время работать над отсылкой почты. таким образом не будет проблемы с вылетом браузеров по таймауту. заранее благодарен за ответ. |
|||
|
||||
Devorior |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 559 Регистрация: 1.8.2002 Где: Обнинск Репутация: 1 Всего: 3 |
эту фразу и далее не понял =\ причем тут браузер если речь идет про скрипт рассылки? |
|||
|
||||
ZiP |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 14.3.2003 Репутация: нет Всего: нет |
set_time_limit
ignore_user_abort Усек ;)? |
|||
|
||||
ZiP |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 14.3.2003 Репутация: нет Всего: нет |
при том, что если сервак определенное время не передает браузеру инфу, то браузер рвет коннект с серваком, а сервак значитца прибьет сам скрипт... |
||||
|
|||||
mold |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 15.3.2003 Репутация: нет Всего: нет |
ignore_user_abort усек.. но он не решает проблему полностью... ибо пользователь не сможет узнать результаты выполнения скрипта ![]() set_time_limit ---> Установка предельного времени исполнения сценария. мне нельзя прерывать работы скрипта.... мне нужно чтобы браузер не вылетал по таймауту... 1) чтобы он отправил фору - был доволен! (состояние, когда он загрузил страницу и отдыхает) 2) каждые N секунд он обновляется и ему поступают результаты выполенния скрипта. таким образом реальная связь с серваком минимальна + скрипт отработал + пользователь увидел результаты. есть предложения? PS: по этому принципу реализованы чаты.... один из них тут: www.games.comint.net/cf.php |
|||
|
||||
Sattu |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 7.8.2002 Где: Західна Україна Репутация: 3 Всего: 4 |
Насколько известно мне, нужно слать броузеру пробел каждую минуту, чтобы он не разрывал коннект.
--------------------
тссссс.... «ЖЖ» |
|||
|
||||
GoBeer |
|
|||
Unregistered |
Можно попробовать по-другому.
Два скрипта: Тот, который рассылает мыло - сразу выдает клиенту типа подождите и мета-так для отсылки клиента, скажем через 3 мин, на второй скрипт. Затем занимается своими делами и, когда закончит, пишет файл с результатами. Второй - при запуске проверяет наличие файла от первого, если файл есть - выводит результаты и трет файл, если файла нет - вновь тот же мета-таг что и первый. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |