【发布时间】:2017-08-31 21:39:41
【问题描述】:
我有一个脚本在被推入队列时作为作业运行。我还有其他几个队列,所有这些都由主管处理。我使用 Redis 作为 Laravel 4.2 的队列驱动程序。
我想了解职位的不同状态:
- 等待执行的作业
- 失败的工作
- 保留的作业
这些不同状态的问题是我在保留队列queue:xyz:reserved(我不知道为什么)中有数千个作业被推入队列queue:xyz,这些作业(来自保留队列)阻塞新推送的作业的执行。
以下是 supervisord 运行的用于处理作业的命令:
php artisan queue:work --queue=xyz --tries=1 --daemon --env=prodEnv
我的问题是:
- 为什么将作业推入保留队列/状态
- 为什么会被 Laravel 推回原来的队列?
- 失败作业和保留作业有什么区别?或者
- 何时将作业标记/视为失败或保留?
将保留的作业推送到原始队列的过程会减慢队列中新作业的处理速度,我想通过处理这些保留的作业来加快速度。
【问题讨论】:
标签: laravel-4 redis queue jobs supervisord