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 的请求。我不知道这是否是问题的确切原因(如果是这样,最好有一个更具描述性的错误消息!),但现在所有请求似乎都没有问题。

希望这对以后的人有所帮助!