Моя конфигурация / код, как показано ниже:
// 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 в файле redis.conf
, раскомментировав requirepass
, а также установил в файле .env
значение REDIS_PASSWORD = 1234. Кстати, я использую Windows с Redis версии 2.4.6. Возможно, он запущен неправильно или пароль что-то сделал.
Как я могу это исправить?
Спасибо