Mar*_*łek 5 php beanstalkd task-queue laravel laravel-5
我需要检查添加到队列(Beanstalkd)的作业是否已在Laravel(Laravel 5)中完成,如果已完成,我需要返回更新的记录(任务添加到数据库中的队列更新记录).我加入了我的composer.json:
"pda/pheanstalk": "3.*"
Run Code Online (Sandbox Code Playgroud)
我以这种方式添加作业队列:
$jobId = Queue::push('App\Class', $object->toArray(), $this->getQueueName());
Run Code Online (Sandbox Code Playgroud)
我用以检查作业是否已完成使用以下功能:
public function find($queueName, $jobId, $recordId)
{
$phean = Queue::getPheanstalk();
try {
$phean->peek($jobId);
$data = ['status' => 'waiting'];
} catch (ServerException $e) {
$message = $e->getMessage();
if ($message == 'NOT_FOUND: Job ' . $jobId . ' does not exist.') {
$data = ... // here I get from database data for $recordId
} else {
$data = ['status' => 'error'];
}
}
return $data;
}
Run Code Online (Sandbox Code Playgroud)
问题是 - 是否可靠的方法来检查工作是否已完成?我在这里比较我从异常中得到的消息.我还没有找到任何其他方法来检查工作是否已完成.
| 归档时间: |
|
| 查看次数: |
6619 次 |
| 最近记录: |