跟踪laravel排队的作业

跟踪laravel排队的作业,laravel,laravel-queue,Laravel,Laravel Queue,我试图从一个支持分页的API中获取部门的详细信息,所以如果我像下面这样在每页生成一个作业 /departments?id=1&page=1 -> job1 /departments?id=1page=2 -> job2 当我必须将响应写入txt文件时,如何跟踪特定部门的这些工作 作业通过控制器类实例化,如: class ParseAllDeptsJob implements ShouldQueue { public function handle() { f

我试图从一个支持分页的API中获取部门的详细信息,所以如果我像下面这样在每页生成一个作业

/departments?id=1&page=1 -> job1
/departments?id=1page=2 -> job2
当我必须将响应写入
txt
文件时,如何跟踪特定部门的这些工作

作业通过控制器类实例化,如:

class ParseAllDeptsJob implements ShouldQueue
{
  public function handle()
  {
    foreach (Departments::all() as $dept) {
      ParseDeptJob::dispatch($dept);
    }
  }
}

您可以使用
withChain()
链接作业。如果链上较高的作业失败,此作业将不会运行

从:

作业链允许您指定一个队列作业列表,该列表应 按顺序运行。如果序列中的一个作业失败,则剩余的 作业将不会运行。要执行排队作业链,可以使用 任何可分派作业上的withChain方法:

在您的情况下,您可以这样做:

ParseAllDeptsJob::withChain([
    new SendEmailNotification
])->dispatch();

如果在处理
ParseAllDeptsJob
时发生错误,则不会发送
SendEmailNotification
您的问题不清楚。当你访问某个页面时,你想为某个特定部门分派作业吗?@Mozammil说是的,但问题不在于分派作业,比如为某个特定部门,我分派了5个作业,在完成这5个作业后,我必须发送电子邮件,现在我如何知道这5个作业已成功完成处理?这能让事情变得明朗一点吗?我明白。我补充了一个答案。