3

我最初在 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 秒更长的时间来触发作业重试。这些似乎都不会触发重试。

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

请帮忙。

4

1 回答 1

0

在 ZendCon 2010 通过电子邮件、电话和亲自与 Zend 工程团队进行大量对话后,发现答案是 Job Queue 实用程序中的一个错误。

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

查看发行说明

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

于 2011-01-16T00:58:59.460 回答