<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: PHP Job Queue</title>
	<atom:link href="http://stut.net/2009/05/29/php-job-queue/feed/" rel="self" type="application/rss+xml" />
	<link>http://stut.net/2009/05/29/php-job-queue/</link>
	<description>Ramblings of a random software engineer</description>
	<lastBuildDate>Fri, 12 Mar 2010 17:55:38 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Kevin Schroeder</title>
		<link>http://stut.net/2009/05/29/php-job-queue/comment-page-1/#comment-13679</link>
		<dc:creator>Kevin Schroeder</dc:creator>
		<pubDate>Fri, 12 Mar 2010 17:55:38 +0000</pubDate>
		<guid isPermaLink="false">http://stut.net/blog/?p=380#comment-13679</guid>
		<description>I noticed that you had at the bottom stated that the Job Queue had been worked on.  Actually, with Zend Server 5, it&#039;s been completely re-architected.  It is faster and more stable in Zend Server than in Zend Platform.

I have a blog post that I wrote about it at &lt;a href=&quot;http://bit.ly/biyW9M&quot; rel=&quot;nofollow&quot;&gt;Do you queue? Introduction to the Zend Server Job Queue&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p>I noticed that you had at the bottom stated that the Job Queue had been worked on.  Actually, with Zend Server 5, it&#8217;s been completely re-architected.  It is faster and more stable in Zend Server than in Zend Platform.</p>
<p>I have a blog post that I wrote about it at <a href="http://bit.ly/biyW9M" rel="nofollow">Do you queue? Introduction to the Zend Server Job Queue</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Job Queue in Symfony &#124; SymfonyLab</title>
		<link>http://stut.net/2009/05/29/php-job-queue/comment-page-1/#comment-13649</link>
		<dc:creator>Job Queue in Symfony &#124; SymfonyLab</dc:creator>
		<pubDate>Sun, 07 Mar 2010 15:42:36 +0000</pubDate>
		<guid isPermaLink="false">http://stut.net/blog/?p=380#comment-13649</guid>
		<description>[...] 4. And eventually if you think that none of provided solutions is suitable you can always write own one using this article which provides general ideas on job queue implementation: http://stut.net/2009/05/29/php-job-queue/ [...]</description>
		<content:encoded><![CDATA[<p>[...] 4. And eventually if you think that none of provided solutions is suitable you can always write own one using this article which provides general ideas on job queue implementation: <a href="http://stut.net/2009/05/29/php-job-queue/" rel="nofollow">http://stut.net/2009/05/29/php-job-queue/</a> [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stut</title>
		<link>http://stut.net/2009/05/29/php-job-queue/comment-page-1/#comment-12338</link>
		<dc:creator>Stut</dc:creator>
		<pubDate>Fri, 29 May 2009 21:36:44 +0000</pubDate>
		<guid isPermaLink="false">http://stut.net/blog/?p=380#comment-12338</guid>
		<description>Aha, indeed, it&#039;s important to limit the number of processes that run concurrently.</description>
		<content:encoded><![CDATA[<p>Aha, indeed, it&#8217;s important to limit the number of processes that run concurrently.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stut</title>
		<link>http://stut.net/2009/05/29/php-job-queue/comment-page-1/#comment-12337</link>
		<dc:creator>Stut</dc:creator>
		<pubDate>Fri, 29 May 2009 21:34:53 +0000</pubDate>
		<guid isPermaLink="false">http://stut.net/blog/?p=380#comment-12337</guid>
		<description>Thanks Nathan. I avoid the forking model because it has the potential to run away with itself, whereas using the system I&#039;ve described above it&#039;s limited to a certain number of concurrent job processors. This can mean that jobs don&#039;t run at an accurate time if things get backed up, but in return you&#039;re guaranteed that it won&#039;t start hundreds or thousands of processes when it tries to catch up.</description>
		<content:encoded><![CDATA[<p>Thanks Nathan. I avoid the forking model because it has the potential to run away with itself, whereas using the system I&#8217;ve described above it&#8217;s limited to a certain number of concurrent job processors. This can mean that jobs don&#8217;t run at an accurate time if things get backed up, but in return you&#8217;re guaranteed that it won&#8217;t start hundreds or thousands of processes when it tries to catch up.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nathan Rixham</title>
		<link>http://stut.net/2009/05/29/php-job-queue/comment-page-1/#comment-12336</link>
		<dc:creator>Nathan Rixham</dc:creator>
		<pubDate>Fri, 29 May 2009 21:32:24 +0000</pubDate>
		<guid isPermaLink="false">http://stut.net/blog/?p=380#comment-12336</guid>
		<description>actually I confused things there..

i don&#039;t for for each job; I grab 200 then array_chunk( $jobs, 20); then do a process for each block of 20, so at max 10 concurrent process running, and only ever as many as you need.

apologies, details like that make or break these things.</description>
		<content:encoded><![CDATA[<p>actually I confused things there..</p>
<p>i don&#8217;t for for each job; I grab 200 then array_chunk( $jobs, 20); then do a process for each block of 20, so at max 10 concurrent process running, and only ever as many as you need.</p>
<p>apologies, details like that make or break these things.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nathan Rixham</title>
		<link>http://stut.net/2009/05/29/php-job-queue/comment-page-1/#comment-12335</link>
		<dc:creator>Nathan Rixham</dc:creator>
		<pubDate>Fri, 29 May 2009 21:30:13 +0000</pubDate>
		<guid isPermaLink="false">http://stut.net/blog/?p=380#comment-12335</guid>
		<description>Nice, and, snap!

I&#039;ve been using the same method almost identically for a few years now as well, honestly can&#039;t say I&#039;ve found anything that runs better.

general principle is:
database of jobs
get batch of all jobs due to be run (max 200)
foreach jobs
fork for each job
process job
do next batch

also I run a second deamon doing the same thing purely picking up errors and on demand job sets; (for when a big report or a custom scrape / import needs done)

works v well especially when grabbing remote files (due to multi-process).

regards &amp; nice post</description>
		<content:encoded><![CDATA[<p>Nice, and, snap!</p>
<p>I&#8217;ve been using the same method almost identically for a few years now as well, honestly can&#8217;t say I&#8217;ve found anything that runs better.</p>
<p>general principle is:<br />
database of jobs<br />
get batch of all jobs due to be run (max 200)<br />
foreach jobs<br />
fork for each job<br />
process job<br />
do next batch</p>
<p>also I run a second deamon doing the same thing purely picking up errors and on demand job sets; (for when a big report or a custom scrape / import needs done)</p>
<p>works v well especially when grabbing remote files (due to multi-process).</p>
<p>regards &amp; nice post</p>
]]></content:encoded>
	</item>
</channel>
</rss>
