/** * Handle the queued job. * * @param \Illuminate\Contracts\Queue\Job $job * @param array $data * @return void */ public function call(Job $job, array $data) { $command = $this->setJobInstanceIfNecessary($job, unserialize($data['command'])); $handler = $this->dispatcher->getCommandHandler($command) ?: null; if ($handler) { $this->setJobInstanceIfNecessary($job, $handler); } $this->dispatcher->dispatchNow($command, $handler); if (!$job->isDeletedOrReleased()) { $job->delete(); } }