我有一份工作,我们称之为上级工作
ParentJob::dispatch()
在此作业中,我正在分派子作业,如下所示:
function handle(){
for($i = 0 ; $i < 5 ; i ++ )
SubJob::dispatch()
//notify that all sub job has finished
您是否希望将其他软件用于复杂的队列作业? (例如:芹菜)
答案 0 :(得分:0)
除非在作业完成之前查询数据库(或任何其他队列驱动程序),否则您将无法查询。
但是,您可以在sync
驱动程序上运行子作业。这将在当前线程上运行作业,因此直到作业完成后代码才能继续。这样做的缺点是一次只能运行一个子作业。
function handle()
{
for ($i = 0; $i < 5; i++) {
SubJob::dispatch()->onConnection('sync');
}
echo "Done!";
}