【发布时间】:2017-12-10 14:11:14
【问题描述】:
在我的 Laravel 5.1 项目中,我想在第一份工作完成时开始我的第二份工作。
这是我的逻辑。
\Queue::push(new MyJob())
当这项工作完成后,我想开始这项工作
\Queue::push(new ClearJob())
我怎么能意识到这一点?
【问题讨论】:
-
不是 100% 确定这是最好的解决方案,但我知道 job events 功能:laravel.com/docs/5.4/queues#job-events。您可以在
Queue::after()方法中为MyJob启动ClearJob。 -
为什么不在第一份工作结束时分派第二份工作呢?
$this->dispatch(new ClearJob());您需要确保 Job 也具有DispatchesJobs特征。 -
我需要使用的地方。吗?