我最初在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秒。这些都不会触发重试。
所以,我问,实际上会触发重试的是什么?
请帮忙。
答案 0 :(得分:0)
经过与Zend工程团队的大量对话 - 通过电子邮件,电话和现场ZendCon 2010 - 后来发现答案是作业队列实用程序中的一个错误。
Zend Server 5.0.4版包含对Job Queue实用程序的修复,专门用于从HTTP错误中更好地重试处理。
很抱歉延迟清理这个问题。