Ben*_*eth 7 jobs scheduling laravel laravel-8
我的工作不知何故被多次解雇。我希望这项工作只开始一次。如果任何其他尝试在作业已经在队列中时运行该作业,我希望这些运行中止。
我已阅读 Laravel 8 文档,但不知道是否应该使用:
Queue\ShouldBeUnique(记录在这里: https: //laravel.com/docs/8.x/queues#unique-jobs)或Queue\Middleware\WithoutOverlapping
这里提到: https: //laravel.com/docs/8.x/queues#preventing-job-overlaps我相信第一个会中止后续运行该作业的尝试,而第二个则将其保留在队列中,只是确保它在第一个作业完成之前不会运行。有人能证实吗?
Ben*_*eth 14
通过尝试在控制台窗口中运行同一作业的多个实例在本地进行确认。
实施Queue\ShouldBeUnique在我的工作类中
而添加->withoutOverlapping()到文件中我的工作参考的末尾app\console\kernel.php只会阻止它同时运行。如果作业已经在运行,它不会中止该作业。
| 归档时间: |
|
| 查看次数: |
1839 次 |
| 最近记录: |