Question

I originally posted this question over at the Zend Forums but figured it would also be wise to post here.

What has to happen, exactly, for a job to retry? I've tried timeouts, 50x response codes, and setting the status to "FAILED".

I have a simple script that creates a job...

$job_url = 'http://localhost/consumer.php?time=' . microtime(true);
$job_queue = new ZendJobQueue();

$job_options = array(
   'name' => 'Test Job'
);

$job_id = $job_queue->createHttpJob(
   $job_url,
   array(),
   $job_options
);

I've tried to trigger a retry of the job by removing consumer.php, returning a 500 from within consumer.php, and having consumer.php take longer than the 120 seconds set for zend_jobqueue.http_job_timeout in the jqd.ini. None of these appear to trigger a retry.

So, I ask, what actually will trigger a retry?

Please help.

Was it helpful?

Solution

After a great deal of conversations with the Zend engineering team - via email, phone and in-person at ZendCon 2010 - the answer was discovered to be a bug in the Job Queue utility.

Version 5.0.4 of Zend Server contained a fix to the Job Queue utility, specifically for better retry handling from HTTP errors.

Check out the release notes.

Sorry for the delay in cleaning up this question.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top