zend-blog-3-backend
39 строк · 899.0 Байт
1<?php
2
3namespace App\Cron\Hourly;
4
5use App\Cron\HourlyCronServiceInterface;
6use App\Entity\Commentator;
7use App\Utils\RottenLink;
8use Doctrine\ORM\EntityManagerInterface;
9
10class LinksCheck implements HourlyCronServiceInterface
11{
12private EntityManagerInterface $em;
13
14/**
15* @param EntityManagerInterface $em
16*/
17public function __construct(EntityManagerInterface $em)
18{
19$this->em = $em;
20}
21
22public function run(): void
23{
24$repository = $this->em->getRepository(Commentator::class);
25foreach ($repository->getWithUncheckedLinks() as $commentator) {
26$commentator
27->setRottenCheck(new \DateTime())
28->setRottenLink(!RottenLink::doesWork($commentator->getWebsite()))
29;
30}
31
32$this->em->flush();
33}
34
35public function getMessage(): ?string
36{
37return null;
38}
39}
40