拉拉维尔作业和保留状态或保留队列



>我在队列中推送时有一个脚本作为作业运行。我还有其他几个队列,所有这些都由主管处理。我正在使用 Redis 作为 Laravel 4.2 的队列驱动程序。

我想知道工作的不同状态:

  • 等待执行的作业
  • 失败的作业
  • 预留作业

这些不同状态的问题在于,我在保留队列queue:xyz:reserved中有数千个作业(我不知道为什么),这些作业在队列queue:xyz中推送,而这些作业(来自保留队列)阻止了新推送作业的执行。

以下是被监督者为处理作业而运行的命令:php artisan queue:work --queue=xyz --tries=1 --daemon --env=prodEnv我的问题是:

  • 为什么在保留队列/状态中推送作业
  • 为什么会被拉拉维尔推回原来的队列?
  • 失败作业和保留作业之间有什么区别?或
  • 作业何时被标记为/视为失败或保留?

将保留作业推送到原始队列的过程会减慢队列中新作业的处理速度,我希望通过处理这些保留作业来使其更快。

我遇到了同样的问题,最终能够解决它。

就我而言,这是因为运行时错误。

我有一个作业,其中的代码部分说 A,B,C.C 部分每次都会导致运行时错误,虽然我可以按预期看到 A 和 B 部分的效果,但我注意到该作业被推送到保留状态,并且没有观察到执行部分 C 的效果。

有趣的是,我运行了另一个作业,该作业在一段时间后修复了运行时错误,然后执行了 C 部分,并且该作业从保留作业中删除。

这可能无法直接回答您的所有问题,但我希望它有助于找到它们。

相关内容

  • 没有找到相关文章

最新更新