parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

^mail:send[] | timeout

user 04.05.2007 11:40

Описание проблемы: иногда веб-скрипт на парсере слишком долго отправляет сообщение с помощью ^mail:send[]. Причины этого бывают разные - связь, доступность майл-сервера и т.д.

Это приводит к недопустимым задержкам при генерации веб-страниц.
В случае, например, с file::load - можно указать время таймаута самому. Для mail:send нужно ждать пока оно "само" не упадет. Но клиент, как правило, уже не дождется сообщения об ошибке - или сам остановит соединение или его закроет браузер по таймауту.

Что можно сделать в этой ситуации?

Мне видятся примерно такие варианты решения:

- использовать комбинацию функций sleep/try/throw и переменной-флага (отправлено/не отправлено).

- устанавливать в конфигурации парсера таймаут на smtp-соединения

- попросить сделать функцию
^timeout[$sTimerName]($iTimeInMs){...code... ^thow[mail.timeout;..;..]}