deploy
All checks were successful
Deploy / deploy-staging (push) Successful in 24s
Deploy / deploy-production (push) Has been skipped

This commit is contained in:
2026-06-20 01:50:07 +02:00
parent 3f81f7a670
commit 2cdd14c400
210 changed files with 55853 additions and 36 deletions

View File

@@ -0,0 +1,68 @@
#!/usr/bin/env php
<?php
declare(strict_types=1);
require_once dirname(__DIR__) . '/config/fileload.php';
$targetModule = '';
$statusOnly = false;
foreach (array_slice($argv, 1) as $arg) {
$arg = trim((string) $arg);
if ($arg === '') {
continue;
}
if ($arg === '--status') {
$statusOnly = true;
continue;
}
if (str_starts_with($arg, '--module=')) {
$targetModule = trim(substr($arg, 9));
continue;
}
if ($targetModule === '') {
$targetModule = $arg;
}
}
$modules = app()->modules()->all();
$results = [];
foreach ($modules as $name => $meta) {
if (!is_string($name) || $name === '') {
continue;
}
if ($targetModule !== '' && $targetModule !== $name) {
continue;
}
if (empty($meta['enabled'])) {
continue;
}
$intervalDefs = app()->modules()->intervalTasks($name);
$cronDefs = app()->modules()->cronTasks($name);
if ($intervalDefs === [] && $cronDefs === []) {
continue;
}
if ($statusOnly) {
$results[$name] = [
'interval' => app()->modules()->intervalTaskStatuses($name),
'cron' => app()->modules()->cronTaskStatuses($name),
];
continue;
}
$results[$name] = [
'interval' => app()->modules()->runDueIntervalTasks($name),
'cron' => app()->modules()->runDueCronTasks($name),
];
}
echo json_encode([
'ok' => true,
'ran_at_utc' => gmdate('Y-m-d H:i:s'),
'module' => $targetModule !== '' ? $targetModule : null,
'mode' => $statusOnly ? 'status' : 'run',
'results' => $results,
], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT) . PHP_EOL;