在我的Laravel 5.1项目中,我想在第一个工作完成后开始我的第二份工作。
这是我的逻辑。
\Queue::push(new MyJob())
当这份工作完成后,我想开始这项工作
\Queue::push(new ClearJob())
我怎么能意识到这一点?
答案 0 :(得分:0)
如果你想要这个,你应该定义1 Queue
。
队列只是等待按顺序处理的事物的列表/行, 从头开始。当我说话时,我指的是工作。 - https://toniperic.com/2015/12/01/laravel-queues-demystified
为了得到你想要的相反:异步执行的工作,你应该为每个Queue
定义一个新的Job
。
您可以拥有不同的队列/列表 存储工作。您可以根据需要为它们命名,例如“图像” 用于推送图像处理任务,或“电子邮件”用于保存的队列 特定于发送电子邮件的工作。你也可以有多个工人, 如果你愿意,每个人都在不同的队列上工作。你甚至可以拥有 每个队列有多个工作人员,因此有多个工作正在工作 同时。请记住,有多个工人带来了 CPU和内存成本。在官方文档中查找,它很漂亮 简单。