<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Подскажите, на чем сделать очередь?</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/10161.html</link>
    <description>Сейчас реализована через файл.&lt;br&gt;Добавляю элементы, дописывая в конец файла, каждый элемент с новой строки.&lt;br&gt;Беру N элементов очереди через awk и после обработки каждого &amp;#1108;лемента удаляю через awk.&lt;br&gt;&lt;br&gt;Хочется упростить свой велосипед, уменьшить IOPS.&lt;br&gt;&lt;br&gt;Использовать Redis ? memcache ?&lt;br&gt; &lt;br&gt;</description>

<item>
    <title>Подскажите, на чем сделать очередь? (Аноним)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/10161.html#12</link>
    <pubDate>Tue, 03 Oct 2017 13:42:42 GMT</pubDate>
    <description>//Схватился за голову&lt;br&gt;&lt;br&gt;Использовать /dev/head&lt;br&gt;&lt;br&gt;Если вы любите файлы, то должны понимать, что ФС это на самом деле БД, и строчкой в ней является сам файл, а не строка в файле. &lt;br&gt;&lt;br&gt;Вместо файла делаете директорию. В ней уже файлы с задачами. Обрабатываете эти файлы по отдельности и удаляете после. Выгода в том, что процессы ставящие задачи не ждут, пока другие туда запишут. Процессы исполнители можно запускать как угодно.&lt;br&gt;&lt;br&gt;while true &lt;br&gt;do&lt;br&gt;  find tasks -type f &amp;#124; &lt;br&gt;    xargs -l -I&#123;&#125; sh worker.sh &#123;&#125; 2&amp;gt;&amp;1 &amp;gt;&amp;gt;workers.log &amp;&amp; rm -f &#123;&#125;&lt;br&gt;  sleep 1;&lt;br&gt;done &lt;br&gt;&lt;br&gt;Как тут заметили, директорию можно смонтировать как тмпфс. Тогда вся жизнь будет происходить в памяти. Но при ребуте сервера вы будете терять данные. Если задания не критичные, то вперед. Я бы так делать не стал.&lt;br&gt;&lt;br&gt;PS&lt;br&gt;Могу для вас похожие проблемы решать за небольшие биткоины.&lt;br&gt;Решение для удаления файлов кроме трех последних тоже мое. &lt;br&gt;</description>
</item>

<item>
    <title>Подскажите, на чем сделать очередь? (DeadLoco)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/10161.html#11</link>
    <pubDate>Sat, 01 Jul 2017 11:53:52 GMT</pubDate>
    <description>&amp;gt;&amp;gt;&amp;gt; Это очень, очень плохой подход.&lt;br&gt;&amp;gt;&amp;gt; Чем же?&lt;br&gt;&amp;gt; Тем, что притормаживает.&lt;br&gt;&lt;br&gt;фейспалм.тхт&lt;br&gt;&lt;br&gt;Ну, значит никсовые пайпы, на которых строятся конвейеры процессов, и которые существуют на свете дольше, чем вы - это &quot;очень, очень плохой подход&quot;? &lt;br&gt;&lt;br&gt;Пионеры юные, головы чугунные (с) &lt;br&gt;</description>
</item>

<item>
    <title>Подскажите, на чем сделать очередь? (ACCA)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/10161.html#10</link>
    <pubDate>Wed, 28 Jun 2017 04:04:18 GMT</pubDate>
    <description>&amp;gt;&amp;gt; Это очень, очень плохой подход.&lt;br&gt;&amp;gt; Чем же?&lt;br&gt;&lt;br&gt;Тем, что притормаживает. Можно молча выбрасывать строки, которые не успели обработать.&lt;br&gt;&lt;br&gt;Micro$oft way - Word именно так печатает документы, в которых обсчитался с нумерацией страниц.&lt;br&gt;</description>
</item>

<item>
    <title>Подскажите, на чем сделать очередь? (DeadLoco)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/10161.html#9</link>
    <pubDate>Sun, 04 Jun 2017 16:13:45 GMT</pubDate>
    <description>&amp;gt; Это очень, очень плохой подход.&lt;br&gt;&lt;br&gt;Чем же? &lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Подскажите, на чем сделать очередь? (ыы)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/10161.html#8</link>
    <pubDate>Fri, 26 May 2017 06:55:36 GMT</pubDate>
    <description>&amp;gt; быстрее другого, то он будет притормаживать на I/O.&lt;br&gt;&lt;br&gt;Это очень, очень плохой подход.&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Подскажите, на чем сделать очередь? (ACCA)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/10161.html#7</link>
    <pubDate>Thu, 25 May 2017 19:56:48 GMT</pubDate>
    <description>&amp;gt; Использовать Redis ? memcache ?&lt;br&gt;&lt;br&gt;Ты бы ещё суперкомпьютер купил.&lt;br&gt;&lt;br&gt;mkfifo queue&lt;br&gt;process1 &amp;gt; queue &amp;&lt;br&gt;process2 &amp;lt; queue&lt;br&gt;&lt;br&gt;4Mбайт буфер для твоих строк. Бонусом получаешь синхронизацию - если один процесс быстрее другого, то он будет притормаживать на I/O.&lt;br&gt;</description>
</item>

<item>
    <title>Подскажите, на чем сделать очередь? (PavelR)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/10161.html#6</link>
    <pubDate>Thu, 25 May 2017 11:38:21 GMT</pubDate>
    <description>&amp;gt; И gearmand интересно.&lt;br&gt;&lt;br&gt;Есть еще beanstalkd, знакомые веб-разработчики почему-то на него ушли с gearmand.&lt;br&gt;Не знаю, насколько он интересен в сравнении с gearmand.&lt;br&gt;</description>
</item>

<item>
    <title>Подскажите, на чем сделать очередь? (universite)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/10161.html#5</link>
    <pubDate>Thu, 25 May 2017 09:32:33 GMT</pubDate>
    <description>И gearmand интересно.&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Подскажите, на чем сделать очередь? (universite)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/10161.html#4</link>
    <pubDate>Wed, 24 May 2017 07:44:15 GMT</pubDate>
    <description>&lt;br&gt;&amp;gt; Применимость его в вашем случае- под еще большим вопросом.&lt;br&gt;&lt;br&gt;Спасибо.&lt;br&gt;Смотрю в сторону&lt;br&gt;A script for running processes in parallel in Bash - https://pebblesinthesand.wordpress.com/2008/05/22/a-srcipt-for-running-processes-in-parallel-in-bash/&lt;br&gt;&lt;br&gt;и&lt;br&gt;&lt;br&gt;Simple job queue in Bash using a FIFO - https://blog.garage-coding.com/2016/02/05/bash-fifo-jobqueue.html&lt;br&gt;</description>
</item>

</channel>
</rss>
