Zend 作业队列 API - 未知错误
Zend Job Queue API - Unknown error
我尝试在 Zend Job Queue API 中使用 createHttpJob
方法,但不断遇到以下错误:
Unable to send createHttpJob request to the Job Queue server. Unknown error.
我使用的代码是:
// Set up job queue
$queue = new \ZendJobQueue();
// Queue email to be sent
$job_id = null;
$counter = 10;
do {
try {
$job_id = $queue->createHttpJob($this->url()->fromRoute('email', array('action' => 'send-email')), array('email_id' => $email_id), array('job_timeout' => 14400, 'name' => 'Sending Email: ' . $email_id));
} catch (\Exception $e) {
usleep(100000); // 0.1 seconds
$counter--;
if($counter <= 0) {
$response = $this->getResponse();
$response->setContent(json_encode(array(
'success' => false,
'zend_queue' => true,
'exception' => $e->getMessage(),
'stack' => $e->getTraceAsString()
)));
return $response;
}
}
} while (!$job_id && $counter > 0);
这基本上是尝试将作业添加到队列中,尝试 10 次失败后,它会 return 向前端返回一个错误。
当然,因为它是一个 unknown error
,我不指望任何人能够彻底解决这个问题,但我想知道是否有人以前遇到过这个问题,他们是否能够做些什么来阻止它?
提前致谢!
所以我找到了这条小信息here:
Parameters sent to a job cannot exceed the size defined in the 'zend_jobqueue.max_message_size' directive which has a maximum size limit of 64KB.
我有时会发送超过 64KB 的数据,这恰好是产生这个 unknown error
的请求。我不知道这是否是问题的确切原因(如果是这样,最好有一个更具描述性的错误消息!),但现在所有请求似乎都没有问题。
希望这对以后的人有所帮助!
我尝试在 Zend Job Queue API 中使用 createHttpJob
方法,但不断遇到以下错误:
Unable to send createHttpJob request to the Job Queue server. Unknown error.
我使用的代码是:
// Set up job queue
$queue = new \ZendJobQueue();
// Queue email to be sent
$job_id = null;
$counter = 10;
do {
try {
$job_id = $queue->createHttpJob($this->url()->fromRoute('email', array('action' => 'send-email')), array('email_id' => $email_id), array('job_timeout' => 14400, 'name' => 'Sending Email: ' . $email_id));
} catch (\Exception $e) {
usleep(100000); // 0.1 seconds
$counter--;
if($counter <= 0) {
$response = $this->getResponse();
$response->setContent(json_encode(array(
'success' => false,
'zend_queue' => true,
'exception' => $e->getMessage(),
'stack' => $e->getTraceAsString()
)));
return $response;
}
}
} while (!$job_id && $counter > 0);
这基本上是尝试将作业添加到队列中,尝试 10 次失败后,它会 return 向前端返回一个错误。
当然,因为它是一个 unknown error
,我不指望任何人能够彻底解决这个问题,但我想知道是否有人以前遇到过这个问题,他们是否能够做些什么来阻止它?
提前致谢!
所以我找到了这条小信息here:
Parameters sent to a job cannot exceed the size defined in the 'zend_jobqueue.max_message_size' directive which has a maximum size limit of 64KB.
我有时会发送超过 64KB 的数据,这恰好是产生这个 unknown error
的请求。我不知道这是否是问题的确切原因(如果是这样,最好有一个更具描述性的错误消息!),但现在所有请求似乎都没有问题。
希望这对以后的人有所帮助!