Laravel 使用 Redis 驱动队列,任务不执行

我在用laravel队列的时候,使用mysql驱动就是完全正常的,用redis配置的时候,任务能够进入到redis里面,但是启动脚本php artisan queue:work,任务不执行,有人知道这是为什么吗?求解答~

配置

config/queue.php:

'default' => env('QUEUE_DRIVER', 'sync')

.env:

BROADCAST_DRIVER=redis
CACHE_DRIVER=redis
SESSION_DRIVER=redis
QUEUE_DRIVER=redis

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=********
REDIS_PORT=6379
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

查看一下日志, storage\logs\laravel.log,看有没有可能在重试失败的任务

7年前 评论
讨论数量: 6

查看一下日志, storage\logs\laravel.log,看有没有可能在重试失败的任务

7年前 评论
lijinma

你先看看 redis 里面有队列吗?

keys *

然后在 redis 里面 monitor 一下,看看有没有去拿数据

monitor
7年前 评论

@oustn 谢谢指点,查看了日志发现一直在报错,执行executeCommand方法的时候,底层predis/Client报出Error Command ‘EVAL’的错误,挺怪异

7年前 评论
尼采

请问问题解决了吗?我也碰到了这个问题

6年前 评论

EVAL 是 redis 版本问题,用高版本可以解决。

6年前 评论
尼采

尝试修改默认队列名

6年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!