当推送到队列中时,我有一个脚本作为作业运行。我还有其他几个队列,所有这些队列都由主管处理。我将Redis用作Laravel 4.2的队列驱动程序。
我想了解工作的不同状态:
等待执行的作业
失败的工作
保留的工作
这些不同状态的问题在于,保留队列中有数千个作业queue:xyz:reserved
(我不知道为什么)被推送到队列中,queue:xyz
而这些作业(来自保留队列)阻止了新推送的作业的执行。
以下是由主管运行以处理作业的命令:
php artisan queue:work --queue=xyz --tries=1 --daemon --env=prodEnv
我的问题是:
为什么在保留的队列/状态中推送作业
为什么Laravel将其推回原始队列?
失败的作业和保留的作业有什么区别?要么
何时将作业标记/认为是失败或保留?
将保留的作业推送到原始队列的过程减慢了队列中新作业的处理速度,我想通过处理这些保留的作业来使其更快。