39 lines
982 B
PHP
39 lines
982 B
PHP
#!/usr/bin/env php
|
|
<?php
|
|
declare(strict_types=1);
|
|
|
|
require_once dirname(__DIR__) . '/config/fileload.php';
|
|
|
|
$targetModule = trim((string) ($argv[1] ?? ''));
|
|
$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;
|
|
}
|
|
|
|
$taskDefs = app()->modules()->intervalTasks($name);
|
|
if ($taskDefs === []) {
|
|
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,
|
|
'results' => $results,
|
|
], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT) . PHP_EOL;
|