Lumen 如何使用 schedule job 中 dispatch on queue?
lumen中使用schedule报错:
In Schedule.php line 87:
Call to a member function onQueue() on string
请问该如何解决?
lumen 的文档当中没有涉及任务调度的相关问题,lumen和Laravel的schedule不太一样,有点无从下手
protected function schedule(Schedule $schedule)
{
$schedule->job(new XXXJob); //XXXJob 继承 abstract class Job implements ShouldQueue
}
job的方法,尝试改用2),虽然可以了,但是感觉不太靠谱啊
public function job($job, $queue = null)
{
return $this->call(function () use ($job, $queue) {
$job = is_string($job) ? resolve($job) : $job;
if ($job instanceof ShouldQueue) {
//dispatch($job)->onQueue($queue);//1)
dispatch($job->onQueue($queue));//2)
} else {
dispatch_now($job);
}
})->name(is_string($job) ? $job : get_class($job));
}
PS:版本: "laravel/lumen-framework": "5.5.*"
推荐文章: