public function __invoke(AbstractJob $job) { try { $result = $this->doJob($job); } catch (\Exception $ex) { $result = $ex; } $job->setResult($result); $job->save(); $this->invokeCallbacks($job); return $job->getResult(); }