使用了Laravel中的horizon来执行队列任务,任务成功写入并且在控制台可以查看到,但是一直在pending并且没有错误日志。
1. 运行环境
1). 当前使用的 Laravel 版本?
7.0
2). 当前使用的 php/php-fpm 版本?
PHP 版本:7.2.5
php-fpm 版本:
3). 当前系统
CentOS 7
4). 业务环境
开发环境。
5). 相关软件版本
nginx,redis,supervisor
2. 问题描述?
启动了horizon来处理队列任务,队列都启动成功。并且通过控制台可以看到任务已经正常写入,但是一直处于pending状态无法执行也没有错误日志。
3. 您期望得到的结果?
能够正常执行。
//: <> (能截图就截图。)
4. 您实际得到的结果?
未执行,并且找不到错误信息。
//: <> (有报错信息的话把堆栈信息提供出来)
如果使用的是
Redis
集群,请看下这个Redis 集群
如果你的 Redis 队列当中使用了 Redis 集群,那么你的队列名称就必须包含一个 key hash tag。这是为了确保一个给定队列的所有 Redis 键都被放在同一个哈希插槽:
补充:运行时使用方法设置队列名称同理
->queue('{import}')
->queue('{export}')