什么构成了工作队列中的重试?

时间:2010-10-22 14:02:38

标签: php zend-server job-queue

我最初在Zend论坛上发布了这个问题,但认为在这里发帖也是明智之举。

对于重试的工作,究竟会发生什么?我已经尝试了超时,50x响应代码,并将状态设置为“FAILED”。

我有一个创建作业的简单脚本......

$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
);

我试图通过删除consumer.php来触发重试,从consumer.php中返回500,并且让consumer.php花费的时间超过jqd.ini中为zend_jobqueue.http_job_timeout设置的120秒。这些都不会触发重试。

所以,我问,实际上会触发重试的是什么?

请帮忙。

1 个答案:

答案 0 :(得分:0)

经过与Zend工程团队的大量对话 - 通过电子邮件,电话和现场ZendCon 2010 - 后来发现答案是作业队列实用程序中的一个错误。

Zend Server 5.0.4版包含对Job Queue实用程序的修复,专门用于从HTTP错误中更好地重试处理。

查看release notes

很抱歉延迟清理这个问题。