Когда я использую функцию очереди Redis в laravel5.8, она не работает должным образом - PullRequest
0 голосов
/ 16 апреля 2020

Версия larave - 5.8. Я собираюсь использовать функцию очереди Redis. Согласно документации, когда я запускаю команду queue: work, она не может быть успешно выполнена. В журнале ошибок есть ненормальная ошибка

env:

  • laravel5.8
  • php7 .2.21
  • redis5.0.5

config / queue. php

'redis' => [
            'driver' => 'redis',
            'connection' => 'default',
            'queue' => env('REDIS_QUEUE', 'sso'),
            'retry_after' => 90,
            'block_for' => null,
        ],

app / Jobs / LoginLog. php

<?php

namespace App\Jobs;

use Illuminate\Bus\Queueable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Support\Facades\Log;

class LoginLog implements ShouldQueue
{
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;

    protected $data;
    /**
     * Create a new job instance.
     *
     * @return void
     */
    public function __construct($appId)
    {
        $this->data = $appId;
    }

    /**
     * Execute the job.
     *
     * @return void
     */
    public function handle()
    {
        Log::info('job handle...',$this->data);
    }
}

маршруты / сеть. php

Route::get('test', function (){
    $appid = '1854956778';
    $a = \App\Jobs\LoginLog::dispatch($appid);
    dd($a);
});

тест почтальона postman test

монитор redis redis monitor

работа в очереди

php artisan queue:work --queue=sso

enter image description here

журнал ошибок error log

1 Ответ

0 голосов
/ 18 апреля 2020

Причиной ошибки является то, что проект представил пакет php -enqueue / laravel -queue. В версии 0.9 этого пакета есть ошибка, исправленная после обновления

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...