|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Oleh Khoma 2:5020/400 19 Feb 2001 00:15:53 To : All Subject : Background job --------------------------------------------------------------------------------
Привет Всем!
Есть CGI скрипт, задача которого выполнить такие функции:
1. Записать в базу данные о некоей транзакции;
2. Отдать страничку клиенту;
3. Сделать асинхронный HTTP request на некий URL. При получении этого запроса,
на удаленном сервере в результате выполнения некоторых действий будет в свою
очередь сделан HTTP запрос на другой мой скрипт, который запишет в базу
дополнительные данные о транзакции. И так несколько раз. Вызывающий скрипт
ждет пока данные в базе не обновятся.
В общем шаг номер 3 может быть достаточно долгим. Хочется делать все это в
background. Интересует такое, если скрипт, запущенный под Apache на Linux
после того как отдал <html></html> будет еще что-то делать, броузер будет
показывать, что страница грузится. Что нужно сделать, чтобы закрыть соединение
с клиентом и дальше работать в background?
У меня есть 2 идея на эту тему:
1. Как то Закрыть STDOUT;
2. Сделать fork() и пусть дите себе играется :).
Скрипт использует CGI + CGI::SSI с планом перехода на Apache::Registry +
Apache::SSI. Возможно ни один из вышеуказанных вариантов невозможен. Тогда,
как бы такое сделать, а?
Спасибо большое.
-- Oleh Khoma [Email: okhoma@mail.ru] [ICQ: 55191139] [FIDO: 2:462/90.80]
--- ifmail v.2.15dev5
* Origin: FidoNet Online - http://www.fido-online.com (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.cgi.perl/16679ff008743.html, оценка из 5, голосов 10
|