/** * @param $class * @param $tries * @param QueuePayload $payload * @param \Exception $exception */ public static function add($class, $tries, QueuePayload $payload, \Exception $exception) { $failed = new FailedJobs(); $failed->class = $class; $failed->tries = $tries; $failed->payload = $payload->encode(); $failed->log_time = time(); $failed->stack_trace = $exception->getMessage(); $failed->stack_trace .= "\n\n" . $exception->getTraceAsString(); $failed->save(false); }
/** * @param string $className * @param int $tries * @param QueuePayload $payload * @param \Exception $exception * @throws \yii\db\Exception */ private function storeFailed($className, $tries, QueuePayload $payload, \Exception $exception) { try { FailedJobs::add($className, $tries, $payload, $exception); } catch (Exception $ex) { throw new \yii\db\Exception('Table failed_jobs not created. Please, run: queue/table-failed'); } }