Laravel 4 LAVEL作业和保留状态或保留队列
我在队列中推送脚本时将其作为作业运行。我还有几个其他的队列,所有这些都由主管处理。我使用Redis作为Laravel 4.2的队列驱动程序 我想知道作业的不同状态:Laravel 4 LAVEL作业和保留状态或保留队列,laravel-4,redis,queue,jobs,supervisord,Laravel 4,Redis,Queue,Jobs,Supervisord,我在队列中推送脚本时将其作为作业运行。我还有几个其他的队列,所有这些都由主管处理。我使用Redis作为Laravel 4.2的队列驱动程序 我想知道作业的不同状态: 等待执行的作业 失败的工作 保留的工作 这些不同状态的问题是,我在保留队列队列:xyz:reserved(我不知道为什么)中有数千个作业被推送到队列队列:xyz,这些作业(来自保留队列)阻止了新推送作业的执行 以下是Supervisor运行的用于处理作业的命令: php-artisan-queue:work--queue=xyz
- 等待执行的作业
- 失败的工作
- 保留的工作
队列:xyz:reserved
(我不知道为什么)中有数千个作业被推送到队列队列:xyz
,这些作业(来自保留队列)阻止了新推送作业的执行
以下是Supervisor运行的用于处理作业的命令:
php-artisan-queue:work--queue=xyz--trys=1--daemon--env=prodEnv
我的问题是:
- 为何在保留队列/状态下推送作业
- 为什么Laravel会把它推回原来的队列
- 失败作业和保留作业之间有什么区别?或
- 作业何时被标记/视为失败或保留
将保留作业推送到原始队列的过程会减慢队列中新作业的处理速度,我希望通过处理这些保留作业来加快处理速度。我也遇到了同样的问题,最终能够解决它 在我的例子中,这是因为一个运行时错误 我有一个作业,它的代码部分是a、B、C。C部分每次都会导致运行时错误,虽然我可以像预期的那样看到a和B部分的效果,但我注意到作业被推到保留状态,并且没有观察到执行C部分的效果 有趣的是,我运行了另一个作业,在一段时间后修复了运行时错误,然后执行了C部分,并从保留作业中删除了该作业 这可能无法直接回答您的所有问题,但我希望它有助于找到这些问题