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