|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Mikhail Polykovsky 2:5020/400 22 Nov 2004 10:43:24 To : All Subject : отследить смерть скрипта --------------------------------------------------------------------------------
Здравствуйте.
Я запускаю скрипт через Apache. Скрипт отцепляется с помощью
Proc::Daemon и работает в фоновом режиме. Обрабатывает записи. Много
записей. Примерно вот так:
use Proc::Daemon;
Proc::Daemon::Init;
$cache ### Файл для логов работы
$SIG{ALRM} = \&ticker; # Каждые 10 сек пишет в файл символ '.'
alarm(10);
eval{
# долгая работа, отчет в лог
};
$cache->add("ОШИБКА: $@") if $@; # Если eval не прошел, записать в лог ошибку
При такой схеме иногда (я не смог пока найти причину) процесс
прекращается, не выдав никакой ошибки. Просто пропадает. В логах
Apache естественно ничего нет. Я хочу выяснить причину умирания
скрипта. Как это можно сделать? Писать отчет по каждой записи не
получится - их ~ 5 млн. Что посоветуете?
PS Даже если система говорит ему kill, можно ли это поймать? SIG
изучать?
--
Михаил Полыковский
http://copi.ru/27690/
Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
--- ifmail v.2.15dev5.3
* Origin: UTC (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/9096fa100bf2.html, оценка из 5, голосов 10
|