40 lines
1.1 KiB
PHP
40 lines
1.1 KiB
PHP
|
|
#!/usr/bin/env php
|
||
|
|
<?php
|
||
|
|
|
||
|
|
declare(strict_types=1);
|
||
|
|
|
||
|
|
chdir(__DIR__ . '/..');
|
||
|
|
|
||
|
|
require 'vendor/autoload.php';
|
||
|
|
require 'config/config.php';
|
||
|
|
require 'lib/Support/helpers.php';
|
||
|
|
|
||
|
|
use MintyPHP\DB;
|
||
|
|
use MintyPHP\Service\Scheduler\SchedulerRunService;
|
||
|
|
|
||
|
|
$exitCode = 0;
|
||
|
|
try {
|
||
|
|
$result = SchedulerRunService::runDueJobs();
|
||
|
|
if (!($result['ok'] ?? false)) {
|
||
|
|
$error = (string) ($result['error'] ?? 'unexpected_error');
|
||
|
|
fwrite(STDERR, sprintf("scheduler run failed: %s\n", $error));
|
||
|
|
$exitCode = 1;
|
||
|
|
} else {
|
||
|
|
$line = sprintf(
|
||
|
|
"scheduler completed: processed=%d success=%d failed=%d skipped=%d duration_ms=%d\n",
|
||
|
|
(int) ($result['processed'] ?? 0),
|
||
|
|
(int) ($result['success'] ?? 0),
|
||
|
|
(int) ($result['failed'] ?? 0),
|
||
|
|
(int) ($result['skipped'] ?? 0),
|
||
|
|
(int) ($result['duration_ms'] ?? 0)
|
||
|
|
);
|
||
|
|
fwrite(STDOUT, $line);
|
||
|
|
}
|
||
|
|
} catch (Throwable $exception) {
|
||
|
|
fwrite(STDERR, sprintf("scheduler run failed: unexpected_error: %s\n", $exception->getMessage()));
|
||
|
|
$exitCode = 1;
|
||
|
|
} finally {
|
||
|
|
DB::close();
|
||
|
|
}
|
||
|
|
exit($exitCode);
|