/
kev
/
Nextcloud_File-Changes-Tracker
Обзор
Документация
Войти
/
kev
/
Nextcloud_File-Changes-Tracker
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
lib/BackgroundJob/DailyDigestJob.php
49 строк
1 KB
Evgeny Konovalov
first_commit
16 фев 2026, 17:45
16 фев 2026, 17:45
476f06c
Код
Авторство
О чём код?
<?php declare(strict_types=1); namespace OCA\FileChangesTracker\BackgroundJob; use OCA\FileChangesTracker\Service\EmailDigestService; use OCP\AppFramework\Utility\ITimeFactory; use OCP\BackgroundJob\TimedJob; use Psr\Log\LoggerInterface; /** * Фоновая задача для отправки ежедневных сводок * Запускается каждый час и проверяет, пора ли отправлять сводки */ class DailyDigestJob extends TimedJob { private EmailDigestService $digestService; private LoggerInterface $logger; public function __construct( ITimeFactory $time, EmailDigestService $digestService, LoggerInterface $logger ) { parent::__construct($time); $this->digestService = $digestService; $this->logger = $logger; // Запускать каждый час $this->setInterval(3600); } /** * Выполнение задачи */ protected function run($argument): void { $this->logger->info('DailyDigestJob started'); try { $this->digestService->sendAllDailyDigests(); $this->logger->info('DailyDigestJob completed successfully'); } catch (\Exception $e) { $this->logger->error('DailyDigestJob failed', [ 'error' => $e->getMessage(), 'trace' => $e->getTraceAsString(), ]); } } }