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 ZendJobQ开发者_开发技巧ueue();
$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.
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.
精彩评论