<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Moves On Rails: Background processing with WorkerQueue</title>
    <link>http://movesonrails.com/articles/2008/08/13/background-processing-with-workerqueue</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>New ways to look at software</description>
    <item>
      <title>Background processing with WorkerQueue</title>
      <description>&lt;p&gt;Yes, I know there are a lot of background runners available for rails (I tried most of them), and they all seemed to have their downsides:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;BackgroundRB -&gt; Major memory leaks when performing large tasks and bloaty.&lt;/li&gt;
&lt;li&gt;Spawn -&gt; I really do not want to fork on every request. I use merb for that.&lt;/li&gt;
&lt;li&gt;Starling -&gt; Memcache and only does sequential processing.&lt;/li&gt;
&lt;li&gt;ActiveMessaging -&gt; Round hole Square peg.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Also non of these can handle big file uploads nicely and reliable.
That is when I decided to create my own: WorkerQueue.&lt;/p&gt;

&lt;p&gt;Main features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Simple&lt;/li&gt;
&lt;li&gt;Fast&lt;/li&gt;
&lt;li&gt;Works via a rake task and prefers cron&lt;/li&gt;
&lt;li&gt;Can handle large amounts of data&lt;/li&gt;
&lt;li&gt;Sequential and Parallel execution on demand&lt;/li&gt;
&lt;li&gt;Simple error reporting&lt;/li&gt;
&lt;li&gt;Offload tasks to other or multiple machines&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can clone a copy here:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;  git clone git://github.com/barttenbrinke/worker_queue.git vendor/plugins/worker_queue
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Or visit &lt;a href="http://github.com/barttenbrinke/worker_queue/tree/master/README"&gt;github&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;UPDATE:
WorkerQueue 1.0 Stable is now available on Github.&lt;/p&gt;</description>
      <pubDate>Wed, 13 Aug 2008 21:08:00 +0200</pubDate>
      <guid isPermaLink="false">urn:uuid:7a88acf9-b4fa-45a2-9c8a-959bb6153ca5</guid>
      <author>bart.tenbrinke@movesonrails.com (Bart ten Brinke)</author>
      <link>http://movesonrails.com/articles/2008/08/13/background-processing-with-workerqueue</link>
      <category>Rails</category>
      <category>background</category>
      <category>process</category>
      <category>worker</category>
      <category>queue</category>
    </item>
    <item>
      <title>"Background processing with WorkerQueue" by Bart ten Brinke</title>
      <description>Background RB is a great tool, but not for the things I wanted to use background processing for. Combined with the (ruby) memory leaks, this is te sollution I came up with. So far this is working a lot better in production then our old backtroundrb setup.</description>
      <pubDate>Wed, 20 Aug 2008 10:56:05 +0200</pubDate>
      <guid isPermaLink="false">urn:uuid:62fc4b78-d61a-42a3-b81e-968cfc520a85</guid>
      <link>http://movesonrails.com/articles/2008/08/13/background-processing-with-workerqueue#comment-297</link>
    </item>
    <item>
      <title>"Background processing with WorkerQueue" by hemant</title>
      <description>well, i have fixed all known memory leaks in backgroundrb git version.

There is nothing there that leaks (except for the fact that, ruby itself leaks in many cases).

</description>
      <pubDate>Tue, 19 Aug 2008 20:54:37 +0200</pubDate>
      <guid isPermaLink="false">urn:uuid:52dddc0a-8cbf-44fb-a168-6a81933626bf</guid>
      <link>http://movesonrails.com/articles/2008/08/13/background-processing-with-workerqueue#comment-296</link>
    </item>
  </channel>
</rss>
