Вызов метода __construct(), но функция handle() не вызывается в задании laravel

Я пытаюсь выполнить работу через dispatch() метод с использованием

  1. Laravel 5.4
  2. Redis-сервер
  3. руководитель

я сделал queue конфиг как 'default' => env('QUEUE_DRIVER', 'redis'),

  1. Я вызываю метод dispatch() в моем app/Services файл

рассылка (новый SavePropertyImages($pid_list));

  1. ниже мой файл работы в app/Jobs:

    namespace App\Jobs;
    
    use App\Property;
    use App\Services\CreaBase;
    use Illuminate\Bus\Queueable;
    use Illuminate\Queue\SerializesModels;
    use Illuminate\Queue\InteractsWithQueue;
    use Illuminate\Contracts\Queue\ShouldQueue;
    use Illuminate\Foundation\Bus\Dispatchable;
    
    class SavePropertyImages implements ShouldQueue
    {
        use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
    
        protected $pid;
        protected $creaBase;
        public $timeout = 300;
        public $tries = 1;
        /**
         * Create a new job instance.
         *
         * @return void
        */
        public function __construct($pid)
        {
            $this->pid = $pid;
        }
    
        /**
         * Execute the job.
         *
         * @return void
        */
        public function handle()
        {
                $this->creaBase = new CreaBase();
            if (!$this->creaBase->isLogin){
                    $this->creaBase->init();
            }
                $this->creaBase->saveAllImages("Property", $this->pid);
        }
    }
    

Когда я звоню dispatch(new SavePropertyImages($pid_list)) метод, работа __construct() вызывает метод, но не вызывает handle() функция.

Есть ли у вас какие-либо идеи?

1 ответ

Бинго, я получил ответ

мой handle() функция не вызывает. потому что я поставил supervisor но не начинать supervisor процесс, поэтому мой queue:work redis процесс не запускается и моя работа не назначается redis Сервер и моя работа не должна была быть выполнена.

Прежде всего я начинаю свой supervisor сервис и мой queue работает отлично.

Другие вопросы по тегам