我的配置/代码如下:
// My .env file
BROADCAST_DRIVER=redis
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=redis
// My config/queue.php file
'default' => env('QUEUE_DRIVER', 'redis'),
'redis' => [
'driver' => 'redis',
'connection' => 'default',
'queue' => 'default',
'retry_after' => 90,
'block_for' => 5,
],
// My UserController
dispatch((new \App\Jobs\MyModel($phone))->delay(\Carbon\Carbon::now()->addMinutes(1)));
当我将QUEUE_DRIVER
从redis
更改为database
并在作业表中插入行时它正在工作,但是当我将其更改回redis
时它将停止工作。我检查了laravel.log
,那里的错误是[2018-11-09 21:12:27] local.ERROR: ERR unknown command 'EVAL' {"exception":"[object] (Predis\\Response\\ServerException(code: 0): ERR unknown command 'EVAL' at \\Path\\To\\My\\Project\\vendor\\predis\\predis\\src\\Client.php:370)
。
我忘记说我通过取消注释redis.conf
在requirepass
文件中为Redis设置了密码,并且还在.env
文件中将其设置为REDIS_PASSWORD = 1234。顺便说一句,我正在使用Windows的版本2.4.6的Redis。也许它无法正确启动,或者密码已完成操作。
我该如何解决? 谢谢