【问题标题】:What's the difference between Laravels Queue\ShouldBeUnique and Queue\Middleware\WithoutOverlapping?Laravel Queue\ShouldBeUnique 和 Queue\Middleware\WithoutOverlapping 有什么区别?
【发布时间】:2021-09-20 19:27:13
【问题描述】:

我的工作不知何故被多次解雇。我希望这份工作开始一次,而且只有一次。如果任何其他尝试运行该作业,而它已经在队列中,我希望这些运行中止。

我已阅读 Laravel 8 文档,但不知道是否应该使用:

我相信第一个会中止运行该作业的后续尝试,而第二个会使其排队,只是确保它在第一个作业完成之前不会运行。谁能确认一下?

【问题讨论】:

    标签: laravel laravel-8 scheduling jobs


    【解决方案1】:

    通过尝试在控制台窗口中运行同一作业的多个实例在本地确认。

    在我的作业类中实现Queue\ShouldBeUnique 接口意味着后续尝试被中止。

    而将->withoutOverlapping() 添加到app\console\kernel.php 文件中我的作业引用的末尾只会阻止它同时运行。如果作业已经在运行,它不会中止作业。

    【讨论】:

      猜你喜欢
      • 2015-09-14
      • 1970-01-01
      • 1970-01-01
      • 2016-11-14
      • 2022-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-09
      相关资源
      最近更新 更多