Files
breadcrumb-the-shire/bin/scheduler-run.php
2026-02-23 12:58:19 +01:00

41 lines
1.2 KiB
PHP
Executable File

#!/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\SchedulerServicesFactory;
$exitCode = 0;
try {
$factory = new SchedulerServicesFactory();
$result = $factory->createSchedulerRunService()->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);