我正在尝试通过dispatch()
使用方法执行作业
- 拉拉维尔 5.4
- redis 服务器
- 导师
我已经完成了queue
类似的配置'default' => env('QUEUE_DRIVER', 'redis')
。
- 我在我的
app/Services
文件中调用 dispatch() 方法
调度(新的 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()
函数。
你有什么想法?