cron
This commit is contained in:
@@ -26,6 +26,7 @@ foreach ($fields as $field) {
|
||||
$fieldMeta[$fname] = $field;
|
||||
}
|
||||
$current = modules()->settings($moduleName);
|
||||
$intervalTaskStatuses = modules()->intervalTaskStatuses($moduleName);
|
||||
$defaults = $module['db_defaults'] ?? [];
|
||||
if (empty($current['db']) && is_array($defaults)) {
|
||||
$current['db'] = $defaults;
|
||||
@@ -251,6 +252,20 @@ $normalizeDriver = static function (mixed $value): mixed {
|
||||
};
|
||||
};
|
||||
|
||||
$formatRunTimestamp = static function (?string $value): string {
|
||||
$value = trim((string) $value);
|
||||
if ($value === '') {
|
||||
return '-';
|
||||
}
|
||||
|
||||
$ts = strtotime($value);
|
||||
if ($ts === false) {
|
||||
return $value;
|
||||
}
|
||||
|
||||
return date('Y-m-d H:i:s', $ts);
|
||||
};
|
||||
|
||||
$renderField = function (array $field) use (&$current, $getNested, $driverOptions): void {
|
||||
$name = (string)($field['name'] ?? '');
|
||||
if ($name === '') {
|
||||
@@ -435,6 +450,35 @@ $activeDbGroup = $testGroup !== null && array_key_exists($testGroup, $dbGroups)
|
||||
</section>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if ($intervalTaskStatuses !== []): ?>
|
||||
<section class="setup-panel">
|
||||
<div class="setup-panel__head">
|
||||
<div>
|
||||
<span class="pill">Automationen</span>
|
||||
<h2>Intervall-Aufgaben</h2>
|
||||
<p class="muted">Diese Aufgaben werden beim ersten gueltigen Modulaufruf nach Ablauf des Intervalls automatisch ausgefuehrt.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="setup-grid">
|
||||
<?php foreach ($intervalTaskStatuses as $task): ?>
|
||||
<?php $state = is_array($task['state'] ?? null) ? $task['state'] : []; ?>
|
||||
<div class="setup-field muted">
|
||||
<span><?= e((string) ($task['label'] ?? $task['name'] ?? 'Intervall-Aufgabe')) ?></span>
|
||||
<input type="text" readonly value="<?= e(!empty($task['enabled']) ? 'Aktiv' : 'Deaktiviert') ?>">
|
||||
<small class="muted">Intervall: <?= e(number_format((float) ($task['interval_hours'] ?? 0), 2, ',', '')) ?> Stunden</small>
|
||||
<small class="muted">Letzter Start: <?= e($formatRunTimestamp((string) ($state['last_started_at'] ?? ''))) ?></small>
|
||||
<small class="muted">Letzter Erfolg: <?= e($formatRunTimestamp((string) ($state['last_success_at'] ?? ''))) ?></small>
|
||||
<small class="muted">Naechster Lauf: <?= e($formatRunTimestamp((string) ($task['next_due_at'] ?? ''))) ?></small>
|
||||
<small class="muted">Status: <?= e((string) (($state['last_status'] ?? '') !== '' ? $state['last_status'] : '-')) ?></small>
|
||||
<?php if (trim((string) ($state['last_message'] ?? '')) !== ''): ?>
|
||||
<small class="muted">Meldung: <?= e((string) $state['last_message']) ?></small>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
</section>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (is_array($moduleStatusPanel)): ?>
|
||||
<section class="setup-panel setup-panel--flat">
|
||||
<div class="setup-panel__head">
|
||||
|
||||
Reference in New Issue
Block a user