laravel队列数量不对且不会抛出异常而是无限重试?
1. 运行环境
docker容器
1). 当前使用的 Laravel 版本?
7.3
2). 当前使用的 php/php-fpm 版本?
php-fpm 版本:7.3
3). 当前系统
debian
4). 业务环境
debian
5). 相关软件版本
redis6.0.6
2. 问题描述?
在command任务调度中批量添加队列任务用作生成数据,supervisor监听16个work消耗任务,队列任务会请求api,并且设置了20秒超时时间,但是在观测中,数据正常运行时候,数据会添加,队列数量却不会减下去,api卡住时,会进行无限重试或者压根不超时【存疑,无法观察到具体情况】
1.work资源耗尽
本地和线上代码是一致的,guzzlehttp设置了超时时间,并且重试三次后,任务会被追加到failed_jobs表内,但是线上却不会,不清楚它是没有管超时参数还是无限的重试【之所以说无限重试是因为把所有的work都耗住了,其他的队列或者优先队列没有执行】,两边的运行命令是一致的重试三次
2.list长度变化问题
正常消耗时,redis内的list长度变化不规律?如下图所示,work正常工作,数据也正常入库,但是redis里所有的key,长度都没有变化,无论是queuesdefault还是queuesdefaultnotify都是一样的
推荐文章: