Вызов метода __construct(), но функция handle() не вызывается в задании laravel
Я пытаюсь выполнить работу через dispatch()
метод с использованием
- Laravel 5.4
- Redis-сервер
- руководитель
я сделал queue
конфиг как 'default' => env('QUEUE_DRIVER', 'redis')
,
- Я вызываю метод dispatch() в моем
app/Services
файл
рассылка (новый SavePropertyImages($pid_list));
ниже мой файл работы в
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
работает отлично.