<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Время жизни perl процесса</title>
    <link>https://m.opennet.dev/openforum/vsluhforumID1/90659.html</link>
    <description>Написан скрипт на Perl, который разбирает поступающие письма и помещает данные из вложений в базу mysql. В одном месте скрипта необходимо установить задержку выполнения на 14 часов.&lt;br&gt;Поставил команду sleep 50400, и всё бы хорошо, но скрипт через какое то время завершается системой.&lt;br&gt;&lt;br&gt;команда top&lt;br&gt;  PID USERNAME  THR PRI NICE   SIZE    RES STATE    TIME   WCPU COMMAND&lt;br&gt;22270 mailnull        1   8    0 56252K 55536K nanslp   0:04  0.00&#037; perl&lt;br&gt;&lt;br&gt;ps axu &amp;#124; grep perl:&lt;br&gt;mailnull   22270  0.0  1.8 56252 55536  p0  I+   11:36AM   0:04.03 /usr/local/bin/perl /usr/local/cgi/price/mail_price.pl&lt;br&gt;</description>

<item>
    <title>Время жизни perl процесса (PavelR)</title>
    <link>https://m.opennet.dev/openforum/vsluhforumID1/90659.html#6</link>
    <pubDate>Sun, 09 Jan 2011 07:08:12 GMT</pubDate>
    <description>&amp;gt;&amp;gt; Самый простой способ запускать по крону проталкивающий скрипт :) &lt;br&gt;&amp;gt; Не факт, что у &quot;детей капитана Крона&quot; время жизни не ограничено _ещё &lt;br&gt;&amp;gt; _больше...&lt;br&gt;&lt;br&gt;Эхх, праздники-то сказываются =)&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Время жизни perl процесса (SergeyKa)</title>
    <link>https://m.opennet.dev/openforum/vsluhforumID1/90659.html#5</link>
    <pubDate>Sun, 09 Jan 2011 06:00:23 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt; atrm - queue, examine or delete jobs for later execu- &lt;br&gt;&amp;gt;        tion &lt;br&gt;&amp;gt; SYNOPSIS &lt;br&gt;&amp;gt;        at &#091;-V&#093; &#091;-q queue&#093; &#091;-f &lt;br&gt;&amp;gt; file&#093; &#091;-mldbv&#093; TIME &lt;br&gt;&amp;gt;        at -c job &#091;job...&#093; &lt;br&gt;&amp;gt;        atq &#091;-V&#093; &#091;-q queue&#093; &lt;br&gt;&amp;gt;        atrm &#091;-V&#093; job &#091;job...&#093; &lt;br&gt;&amp;gt;        batch &lt;br&gt;&amp;gt; ...&lt;br&gt;&lt;br&gt;На самом деле задача проще. &lt;br&gt;Просто есть поставщик, который отправляет ну ОООЧень большой прайс и делает это днём в самый разгар работы. При подгрузке этого прайса система блокирует таблицы во избежание ошибок и стоит задача отсрочить подгрузку до нерабочего времени, например в 1 час ночи.&lt;br&gt;соответственно проще запустить по крону ещё один скрипт, который при наличии свежего прайса во временной таблице - перенесёт его в рабочую базу :)&lt;br&gt;</description>
</item>

<item>
    <title>Время жизни perl процесса (Andrey Mitrofanov)</title>
    <link>https://m.opennet.dev/openforum/vsluhforumID1/90659.html#4</link>
    <pubDate>Fri, 31 Dec 2010 09:27:59 GMT</pubDate>
    <description>&amp;gt; Написан скрипт на Perl, который разбирает поступающие письма и помещает данные из &lt;br&gt;&amp;gt; вложений в базу mysql. В одном месте скрипта необходимо установить задержку &lt;br&gt;&amp;gt; выполнения на 14 часов.&lt;br&gt;&amp;gt; Поставил команду sleep 50400, и всё бы хорошо, но скрипт через какое &lt;br&gt;&amp;gt; то время завершается системой.&lt;br&gt;&lt;br&gt;И кстати, про &quot;менять архитектуру&quot;:&lt;br&gt;&#091;B&#093;at ... $(date -d &quot;+14 hours&quot;)&#091;/B&#093;&lt;br&gt;&lt;br&gt;Ну, или очередь, демон, сканирующий (костыль: прикрутить к сканированию очереди самим exim-ом или типа того) раз в N-цать минут-седунд на предмет &quot;созревших&quot; файлов-писем и т.д. ... Вот такой энтерпрайзный энрерпрайз.&lt;br&gt;&lt;br&gt;NAME&lt;br&gt;       at,  batch,  atq, atrm - queue, examine or delete jobs for later execu-&lt;br&gt;       tion&lt;br&gt;&lt;br&gt;SYNOPSIS&lt;br&gt;       at &#091;-V&#093; &#091;-q queue&#093; &#091;-f file&#093; &#091;-mldbv&#093; TIME&lt;br&gt;       at -c job &#091;job...&#093;&lt;br&gt;       atq &#091;-V&#093; &#091;-q queue&#093;&lt;br&gt;       atrm &#091;-V&#093; job &#091;job...&#093;&lt;br&gt;       batch&lt;br&gt;...&lt;br&gt;</description>
</item>

<item>
    <title>Время жизни perl процесса (Andrey Mitrofanov)</title>
    <link>https://m.opennet.dev/openforum/vsluhforumID1/90659.html#3</link>
    <pubDate>Fri, 31 Dec 2010 09:13:27 GMT</pubDate>
    <description>&amp;gt;&amp;gt; А кто запускает этот скрипт, непосредственно MTA? Тогда скорее всего MTA его &lt;br&gt;&amp;gt;&amp;gt; и прибивает по какому-то таймауту, надо его доки читать.&lt;br&gt;&amp;gt;&amp;gt; Варианты решения: &lt;br&gt;&amp;gt;&amp;gt; 2) Форкать скрипт, папу убивать, дочка отвязанная от родителя будет жить сколько &lt;br&gt;&amp;gt;&amp;gt; захочет.&lt;br&gt;&amp;gt; Совершенно верно - MTA exim запускает &lt;br&gt;&amp;gt; Третих вариантов куча, но думал до этого не дойдёт...&lt;br&gt;&lt;br&gt;Четвёртый - поробовать пускать скрипт nohup -ом.&lt;br&gt;&lt;br&gt;&amp;gt; Самый простой способ запускать по крону проталкивающий скрипт :) &lt;br&gt;&lt;br&gt;Не факт, что у &quot;детей капитана Крона&quot; время жизни не ограничено _ещё _больше...&lt;br&gt;&lt;br&gt;&amp;gt; Спасибо за помощь! С наступающим :) &lt;br&gt;&lt;br&gt;Пасиб! Всех с! :))&lt;br&gt;</description>
</item>

<item>
    <title>Время жизни perl процесса (SergeyKa)</title>
    <link>https://m.opennet.dev/openforum/vsluhforumID1/90659.html#2</link>
    <pubDate>Thu, 30 Dec 2010 13:54:28 GMT</pubDate>
    <description>&amp;gt; А кто запускает этот скрипт, непосредственно MTA? Тогда скорее всего MTA его &lt;br&gt;&amp;gt; и прибивает по какому-то таймауту, надо его доки читать.&lt;br&gt;&amp;gt; Варианты решения: &lt;br&gt;&amp;gt; 1) Крутить MTA &lt;br&gt;&amp;gt; 2) Форкать скрипт, папу убивать, дочка отвязанная от родителя будет жить сколько &lt;br&gt;&amp;gt; захочет.&lt;br&gt;&amp;gt; 3) Варианты 1 и 2 - ИМХО костыли, ибо тупо ждать 14 &lt;br&gt;&amp;gt; часов - это неправильно. Я бы менял архитектуру, например скидывать данные &lt;br&gt;&amp;gt; в очередь с датой поступления, и по крону проверять.&lt;br&gt;&lt;br&gt;Совершенно верно - MTA exim запускает&lt;br&gt;Второй вариант нравится меньше всего&lt;br&gt;Третих вариантов куча, но думал до этого не дойдёт...&lt;br&gt;&lt;br&gt;Самый простой способ запускать по крону проталкивающий скрипт :)&lt;br&gt;&lt;br&gt;&lt;br&gt;Спасибо за помощь! С наступающим :)&lt;br&gt;</description>
</item>

<item>
    <title>Время жизни perl процесса (Stell)</title>
    <link>https://m.opennet.dev/openforum/vsluhforumID1/90659.html#1</link>
    <pubDate>Thu, 30 Dec 2010 12:21:26 GMT</pubDate>
    <description>А кто запускает этот скрипт, непосредственно MTA? Тогда скорее всего MTA его и прибивает по какому-то таймауту, надо его доки читать.&lt;br&gt;Варианты решения:&lt;br&gt;1) Крутить MTA&lt;br&gt;2) Форкать скрипт, папу убивать, дочка отвязанная от родителя будет жить сколько захочет.&lt;br&gt;3) Варианты 1 и 2 - ИМХО костыли, ибо тупо ждать 14 часов - это неправильно. Я бы менял архитектуру, например скидывать данные в очередь с датой поступления, и по крону проверять.&lt;br&gt;&lt;br&gt;</description>
</item>

</channel>
</rss>
