Laravel - очередь работает по базе данных, но не по redis - PullRequest
0 голосов
/ 09 ноября 2018

Моя конфигурация / код, как показано ниже:

// 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. Возможно, он запущен неправильно или пароль что-то сделал.

Как я могу это исправить? Спасибо

...