Upload via GUI (346 Dateien)
This commit is contained in:
@@ -43,6 +43,14 @@ $check($last !== '' && strtotime($last) > time() - 60, 'letzter Lauf ist vermerk
|
||||
$srcRow = $pdo->query("SELECT setting_key, setting_value FROM settings WHERE setting_key IN ('cron_run_plugins_source','cron_run_plugins_last_cli')")->fetchAll(PDO::FETCH_KEY_PAIR);
|
||||
$check(($srcRow['cron_run_plugins_source'] ?? '') === 'cron' && strtotime((string) ($srcRow['cron_run_plugins_last_cli'] ?? '')) > time() - 60, 'der Lauf wird als „echter Cronjob“ vermerkt (Quelle und Zeit)');
|
||||
|
||||
// Der eingebaute Hintergrund-Betrieb hat die Minute schon belegt: Der Lauf wird übersprungen, der echte Cronjob gilt trotzdem als lebendig
|
||||
$pdo->prepare("DELETE FROM settings WHERE setting_key = 'cron_run_plugins_last_cli'")->execute();
|
||||
unset($out);
|
||||
exec("{$php} {$script} 2>&1", $out, $code);
|
||||
$lastCli = (string) $pdo->query("SELECT setting_value FROM settings WHERE setting_key = 'cron_run_plugins_last_cli'")->fetchColumn();
|
||||
$check(str_contains(implode("
|
||||
", $out), 'Übersprungen') && $lastCli !== '' && strtotime($lastCli) > time() - 60, 'auch ein übersprungener Cron-Lauf wird als „echter Cronjob lebt“ vermerkt');
|
||||
|
||||
// Eine Minute später: das Minuten-Ereignis kommt wieder, der 5-Minuten-Lauf noch nicht
|
||||
$setAgo = fn(string $key, int $sec) => $pdo->prepare('UPDATE settings SET setting_value = ? WHERE setting_key = ?')->execute([date('Y-m-d H:i:s', time() - $sec), $key]);
|
||||
$setAgo('cron_run_plugins_last_run', 70);
|
||||
|
||||
Reference in New Issue
Block a user