在Laravel 5.4之前,dispatch()方法返回队列作业id。
dispatch()
$job = (new JobClass())->onQueue('queuename'); $jobId = dispatch($job); dd($jobId); // prints the job id
在Python 5.5中,它返回一个PendingDispatch对象,该对象似乎没有检索作业ID的方法。我已经尝试过使用dispatch_now(),但它会立即同步执行作业,而我希望它在后台执行。
PendingDispatch
dispatch_now()
uhry853o1#
在Laravel github上打开一个问题后,解决方案是用途:
app(\Illuminate\Contracts\Bus\Dispatcher::class)->dispatch($job)
而不是
dispatch($job)
pgky5nke2#
你也可以考虑使用DispatchesJobs trait:
DispatchesJobs
class MyClassName() { use DispatchesJobs; .... $job = (new JobClass())->onQueue('queuename'); $jobId = $this->dispatch($job);
hlswsv353#
alexeydemin代码按预期工作。
3条答案
按热度按时间uhry853o1#
在Laravel github上打开一个问题后,解决方案是用途:
而不是
pgky5nke2#
你也可以考虑使用
DispatchesJobs
trait:hlswsv353#
alexeydemin代码按预期工作。