Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 4 LAVEL作业和保留状态或保留队列_Laravel 4_Redis_Queue_Jobs_Supervisord - Fatal编程技术网

Laravel 4 LAVEL作业和保留状态或保留队列

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

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

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

  • 等待执行的作业
  • 失败的工作
  • 保留的工作
这些不同状态的问题是,我在保留队列
队列:xyz:reserved
(我不知道为什么)中有数千个作业被推送到队列
队列:xyz
,这些作业(来自保留队列)阻止了新推送作业的执行

以下是Supervisor运行的用于处理作业的命令:
php-artisan-queue:work--queue=xyz--trys=1--daemon--env=prodEnv
我的问题是:

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

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

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

在我的例子中,这是因为一个运行时错误

我有一个作业,它的代码部分是a、B、C。C部分每次都会导致运行时错误,虽然我可以像预期的那样看到a和B部分的效果,但我注意到作业被推到保留状态,并且没有观察到执行C部分的效果

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

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