AzuraCast/src/Sync/Task/ReactivateStreamerTask.php

34 lines
777 B
PHP
Raw Normal View History

<?php
2021-07-19 05:53:45 +00:00
declare(strict_types=1);
namespace App\Sync\Task;
2022-07-01 07:41:04 +00:00
final class ReactivateStreamerTask extends AbstractTask
{
public static function getSchedulePattern(): string
{
return self::SCHEDULE_EVERY_MINUTE;
}
2020-07-08 07:03:50 +00:00
public function run(bool $force = false): void
{
$streamers = $this->em->createQuery(
<<<DQL
SELECT sst
FROM App\Entity\StationStreamer sst
WHERE sst.is_active = 0
AND sst.reactivate_at <= :reactivate_at
DQL
)->setParameter('reactivate_at', time())
->execute();
foreach ($streamers as $streamer) {
$streamer->setIsActive(true);
$this->em->persist($streamer);
}
$this->em->flush();
}
}