get('status'); } /** * Get a job name. */ public function getJob(): ?string { return $this->get('job'); } /** * Get a scheduled job name. */ public function getScheduledJobJob(): ?string { return $this->get('scheduledJobJob'); } /** * Get a target type. */ public function getTargetType(): ?string { return $this->get('targetType'); } /** * Get a target ID. */ public function getTargetId(): ?string { return $this->get('targetId'); } /** * Get a target group. */ public function getTargetGroup(): ?string { return $this->get('targetGroup'); } /** * Get a group. */ public function getGroup(): ?string { return $this->get('group'); } /** * Get a queue. */ public function getQueue(): ?string { return $this->get('queue'); } /** * Get data. */ public function getData(): stdClass { return $this->get('data') ?? (object) []; } /** * Get a class name. * * @return ?class-string */ public function getClassName(): ?string { return $this->get('className'); } /** * Get a service name. */ public function getServiceName(): ?string { return $this->get('serviceName'); } /** * Get a method name. */ public function getMethodName(): ?string { return $this->get('methodName'); } /** * Get a scheduled job ID. */ public function getScheduledJobId(): ?string { return $this->get('scheduledJobId'); } /** * Get a started date-time. */ public function getStartedAt(): ?string { return $this->get('startedAt'); } /** * Get a PID. */ public function getPid(): ?int { return $this->get('pid'); } /** * Get a number of attempts left. */ public function getAttempts(): int { return $this->get('attempts') ?? 0; } /** * Get a number of failed attempts. */ public function getFailedAttempts(): int { return $this->get('failedAttempts') ?? 0; } /** * Set status. * * @param Status::* $status */ public function setStatus(string $status): self { $this->set('status', $status); return $this; } /** * Set PID. */ public function setPid(?int $pid): self { $this->set('pid', $pid); return $this; } /** * Set started-at to now. */ public function setStartedAtNow(): self { $this->set('startedAt', DateTimeUtil::getSystemNowString()); return $this; } /** * Set executed-at to now. */ public function setExecutedAtNow(): self { $this->set('executedAt', DateTimeUtil::getSystemNowString()); return $this; } }