Главная страница


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : Alexander V. Gaiduk                  2:5020/400     15 Dec 2004  18:09:00
 To : Victor Wagner
 Subject : Hа: Hа: Чтобы и скрипт работал и пользователь не заснул
 -------------------------------------------------------------------------------- 
 
 > AVG> у меня такое работало несколько лет, пока проект не закрылся
 > AVG> самоликвидацией спонсора.
 >
 > AVG> sub send_email {
 > AVG>   &database_close;
 > AVG>   if (fork()) { exit; }
 > AVG>   foreach my $ml (keys %mails) {
 > AVG>     open(MAIL, "|$mta -oi -t -odq ".$mails{$ml}) || die "Can't open
 
 $mta";
 
 > AVG>     print MAIL "From: $from\n";
 > AVG>     print MAIL "Reply-to: $from\n";
 > AVG>     print MAIL "To: $mails{$ml}\n";
 >
 > Вообще-то ты зря создаешь такую немерянную нагрузку на сервер, запуская
 > количество процессов сендмейла, равную количеству адресатов и только
 
 сервер был выделенный, полностью в моем распоряжении.
 
 > ради того, чтобы каждому его адрес в To: прописать. Прописал бы туда
 > что-нибудь вроде Vodnik WEB Servece User <bounce@yourserver.ru> и слал
 > бы одной командой.
 
 я думал об этом, но спонсор проекта умер быстрей,
 чем я собрался это переделать     :))
 
 > Я, правда, в таких случаях использую open "|-" и списковую форму exec,
 > чтобы гарантировать что никакой shell не попытается проинтерпретировать
 > список адресов. А то вдруг у кого в базе окажется адрес вида
 > mail@nowhere.com;rm -rf /
 
 адреса я проверял _перед_ тем, как занести в базу.
 
 > Hо к заданному вопросу это не имеет никакого отношения. Рассылкой почты
 > в течение нескольких часов у тебя занимается не часть твоего скрипта, а
 > работающий на сервере МТA, в очередь которому ты это дело (указав опцию
 > -odq) очень быстро впихнул.
 
 без форка клиент отваливался по таймауту, т.е скрипт работает в натуре
 долго.
 и с fork в скрипте top показал, что рядом с 5...10-ю, сменяющими друг-друга
 сэндмылами все это время висел в памяти сам скрипт.
 
 ладно, это все в прошлом.
 
 я к тому, что, имхо, для долгих процессов, управляемых через вэб,
 вполне нормально на каком то этапе отфоркаться от того, что живет под
 апачем,
 и продолжить жизнь самостоятельно до победного конца.
 --- ifmail v.2.15dev5.3
  * Origin: Internet-Arkhangelsk Company (2:5020/400)
 
 

Вернуться к списку тем, сортированных по:

 Тема:    Автор:    Дата:  
 Чтобы и скрипт работал и пользователь не заснул   Aleksey Sosnovikov   14 Dec 2004 22:53:07 
 Re: Чтобы и скрипт работал и пользователь не заснул   Artem Chuprina   15 Dec 2004 05:37:06 
 Re: Чтобы и скрипт работал и пользователь не заснул   Aleksey Sosnovikov   15 Dec 2004 12:38:44 
 Hа: Чтобы и скрипт работал и пользователь не заснул   Alexander V. Gaiduk   15 Dec 2004 15:23:42 
 Re: Hа: Чтобы и скрипт работал и пользователь не заснул   Victor Wagner   15 Dec 2004 17:19:31 
 Hа: Hа: Чтобы и скрипт работал и пользователь не заснул   Alexander V. Gaiduk   15 Dec 2004 18:09:00 
 Re: Hа: Hа: Чтобы и скрипт работал и пользователь не заснул   Victor Wagner   15 Dec 2004 18:26:24 
 Hа: Hа: Hа: Чтобы и скрипт работал и пользователь не заснул   Alexander V. Gaiduk   16 Dec 2004 12:20:51 
 Re: Hа: Чтобы и скрипт работал и пользователь не заснул   Aleksey Sosnovikov   15 Dec 2004 18:26:56 
 Re: Hа: Чтобы и скрипт работал и пользователь не заснул   yurik shestakov   15 Dec 2004 18:38:54 
 Re: Hа: Чтобы и скрипт работал и пользователь не заснул   Victor Wagner   15 Dec 2004 18:51:24 
 Re: Hа: Чтобы и скрипт работал и пользователь не заснул   Artem Chuprina   15 Dec 2004 18:45:38 
 Re: Чтобы и скрипт работал и пользователь не заснул   Mikhail Polykovsky   15 Dec 2004 10:26:17 
Архивное /ru.cgi.perl/8926ea83d81a.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional