vendor/shapecode/cron-bundle/src/Entity/CronJobResult.php line 15

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace Shapecode\Bundle\CronBundle\Entity;
  4. use DateTimeInterface;
  5. use Doctrine\DBAL\Types\Types;
  6. use Doctrine\ORM\Mapping as ORM;
  7. use Shapecode\Bundle\CronBundle\Repository\CronJobResultRepository;
  8. use function sprintf;
  9. #[ORM\Entity(repositoryClassCronJobResultRepository::class)]
  10. class CronJobResult extends AbstractEntity
  11. {
  12.     #[ORM\Column(typeTypes::DATETIME_MUTABLE)]
  13.     private DateTimeInterface $runAt;
  14.     #[ORM\Column(typeTypes::FLOAT)]
  15.     private float $runTime;
  16.     #[ORM\Column(typeTypes::INTEGER)]
  17.     private int $statusCode;
  18.     #[ORM\Column(typeTypes::TEXTnullabletrue)]
  19.     private string|null $output;
  20.     #[ORM\ManyToOne(targetEntityCronJob::class, cascade: ['persist'], inversedBy'results')]
  21.     #[ORM\JoinColumn(nullablefalseonDelete'CASCADE')]
  22.     private CronJob $cronJob;
  23.     public function __construct(
  24.         CronJob $cronJob,
  25.         float $runTime,
  26.         int $statusCode,
  27.         string|null $output,
  28.         DateTimeInterface $runAt,
  29.     ) {
  30.         $this->runTime    $runTime;
  31.         $this->statusCode $statusCode;
  32.         $this->output     $output;
  33.         $this->cronJob    $cronJob;
  34.         $this->runAt      $runAt;
  35.     }
  36.     public function getRunAt(): DateTimeInterface
  37.     {
  38.         return $this->runAt;
  39.     }
  40.     public function getRunTime(): float
  41.     {
  42.         return $this->runTime;
  43.     }
  44.     public function getStatusCode(): int
  45.     {
  46.         return $this->statusCode;
  47.     }
  48.     public function getOutput(): string|null
  49.     {
  50.         return $this->output;
  51.     }
  52.     public function getCronJob(): CronJob
  53.     {
  54.         return $this->cronJob;
  55.     }
  56.     public function __toString(): string
  57.     {
  58.         return sprintf(
  59.             '%s - %s',
  60.             $this->getCronJob()->getCommand(),
  61.             $this->getRunAt()->format('d.m.Y H:i P'),
  62.         );
  63.     }
  64. }