Forum Webscript.Ru

Программирование => Perl => Тема начата: xalex от 08 Сентября 2003, 19:11:02

Название: Как отправить сообщения по большому списку адресов?
Отправлено: xalex от 08 Сентября 2003, 19:11:02
Добрый день.

Есть база данных с web-интерфейсом. Есть опция "отправить письма пользователям".
Процедура реализована с помощью sendmail.
Примерно до 100 пользователей отправляется нормально, если больше, IE не дожидается ответа сервера и выдает "Страница не доступна". Можно ли как-то ускорить этот процесс, может быть поставить письма в очередь?
Название: Как отправить сообщения по большому списку адресов?
Отправлено: NeoNox от 08 Сентября 2003, 19:25:24
1. Письма все отсылаются?
2. Ускорить нельзя - они и так в очереди.
3. Как вариант - положить отправку писем в дочерний процесс а главным его контролировать.
Название: Как отправить сообщения по большому списку адресов?
Отправлено: xalex от 08 Сентября 2003, 19:29:36
Цитировать
NeoNox:
1. Письма все отсылаются?
3. Как вариант - положить отправку писем в дочерний процесс а главным его контролировать.

Письма отсылаются частично, сколько успеют до обрубания браузера.
А где можно почитать по процессам?
Название: Как отправить сообщения по большому списку адресов?
Отправлено: NeoNox от 08 Сентября 2003, 20:03:16
perldoc perlipc
Название: Как отправить сообщения по большому списку адресов?
Отправлено: NeoNox от 08 Сентября 2003, 20:04:21
Но похоже это срабатывает таймаут на выполнение скрипта.
Уточните у хостера этот момент.
Название: Как отправить сообщения по большому списку адресов?
Отправлено: Макс от 09 Сентября 2003, 00:29:37
вообще у броузера тоже есть таймаут на соединение с сервером (скриптом).
Чтобы соединение не прерывалось скрипт должен какой-то "левый" ХТТП-заголовок отсылать во время работы, тем самым поддерживая соединение (похожее видел в пхпМайАдмин в скрипте создания дампа БД).
Название: Как отправить сообщения по большому списку адресов?
Отправлено: glebushka от 09 Сентября 2003, 04:00:02
Скорее всего NeoNox прав, скрипт по любому должен заканчивать работу. Даже если браузер прерывает соединение по таймауту. Помниться, я, чтобы особо не заморачиваться, на каждой итерации цикла писал в скрипте: print "
что сейчас сделалось хорошее..."; А браузер принимал и по мере поступления выводил на экран.