|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Alexander V. Gaiduk 2:5020/400 15 Dec 2004 15:23:42 To : Aleksey Sosnovikov Subject : Hа: Чтобы и скрипт работал и пользователь не заснул -------------------------------------------------------------------------------- > > Aleksey Sosnovikov @ Tue, 14 Dec 2004 18:53:07 +0000 (UTC): > > > AS> Hужно, чтобы долго выполняющийся скрипт при его запросе через > > AS> браузер отдавал страничку клиенту, делал вид, что все закончилось, > > AS> а сам продолжал работать столько сколько нужно, то есть чтобы на > > AS> него не действовали лимиты на выполнение обычных cgi скриптов и > > AS> пользователь получил ответ. > > > А есть уверенность, что в FAQ этого нету? (Если _я_ не поленюсь там это > > поискать и найду, будет [+].) > > Еще раз перечитал faq. Ответа на свой вопрос не нашел. Если вы имеете в > виду, что в факе есть man crontab, то это не есть мой вопрос. Я спрашивал не > "как мне запускать скрипт в определенное время", а "как рациональнее > организовать работу долговыполняющегося скрипта". crontab тут для меня самый > крайний и неприятный выход. у меня такое работало несколько лет, пока проект не закрылся самоликвидацией спонсора. sub send_email { &database_close; if (fork()) { exit; } foreach my $ml (keys %mails) { open(MAIL, "|$mta -oi -t -odq ".$mails{$ml}) || die "Can't open $mta"; print MAIL "From: $from\n"; print MAIL "Reply-to: $from\n"; print MAIL "To: $mails{$ml}\n"; print MAIL "Content-Type: text/plain; charset=\"koi8-r\"\n"; print MAIL "Content-Transfer-Encoding: 8bit\n"; print MAIL "Mime-Version: 1.0\n"; print MAIL "Subject: Vodnik WEB Sevice\n"; print MAIL "\n\n"; print MAIL &wintokoi8($_[0]),"\n"; close(MAIL); } } одна копия скрипта продолжала работать на apache, другая тихо, никому не мешая в течение ~2 часов слала подписчикам новости. --- ifmail v.2.15dev5.3 * Origin: Internet-Arkhangelsk Company (2:5020/400) Вернуться к списку тем, сортированных по: Архивное /ru.cgi.perl/89268a6b56cc.html, оценка из 5, голосов 10
|