Files
2026-10-23 17:22:17 +00:00

24 lines
1.0 KiB
PHP

<?php
// Direkter Web-Zugriff wird geblockt (nur CLI oder Einbindung aus dem Backend/Pseudo-Cron).
if (php_sapi_name() !== 'cli' && !defined('DESKHUB_CRON_RUNNER')) { http_response_code(403); exit('Kein Web-Zugriff.'); }
/**
* cron/process_snoozes.php
*
* Holt Tickets aus der Wiedervorlage zurück, sobald der Zeitpunkt erreicht ist (Ticket erscheint wieder in den Listen, der
* Mitarbeiter bekommt eine Benachrichtigung). Läuft alle paar Minuten, z. B. per Cronjob:
* * /5 * * * * /usr/bin/php /pfad/zu/deskhub/cron/process_snoozes.php
*/
require_once __DIR__ . '/../includes/bootstrap.php';
/** @return array{woken:int, log:string[]} */
function run_process_snoozes(PDO $pdo, bool $verbose = false): array
{
$n = ticket_snooze_wake_due($pdo);
set_setting('cron_process_snoozes_last_run', db_now());
return ['woken' => $n, 'log' => ['[' . date('Y-m-d H:i:s') . "] Wiedervorlagen geprüft, {$n} Ticket(s) zurückgeholt."]];
}
if (php_sapi_name() === 'cli') {
foreach (run_process_snoozes(get_db(), true)['log'] as $line) echo $line . "\n";
}