scheduler - only register built-in purge_orphaned_scheduled_tasks if running as default name

This commit is contained in:
Andrew Dolgov 2025-05-04 20:23:39 +03:00
parent 5263a07f61
commit 4cc40ddaa4
No known key found for this signature in database
GPG Key ID: 1A56B4FA25D4AF2A

View File

@ -3,20 +3,23 @@ class Scheduler {
private static ?Scheduler $instance = null; private static ?Scheduler $instance = null;
const TASK_RC_EXCEPTION = -100; const TASK_RC_EXCEPTION = -100;
const DEFAULT_NAME = 'Default Scheduler';
/** @var array<string, mixed> */ /** @var array<string, mixed> */
private array $scheduled_tasks = []; private array $scheduled_tasks = [];
private string $name; private string $name;
function __construct(string $name = 'Default Scheduler') { function __construct(string $name = self::DEFAULT_NAME) {
$this->set_name($name); $this->set_name($name);
$this->add_scheduled_task('purge_orphaned_scheduled_tasks', '@weekly', if ($name === self::DEFAULT_NAME) {
function() { $this->add_scheduled_task('purge_orphaned_scheduled_tasks', '@weekly',
return $this->purge_orphaned_tasks(); function() {
} return $this->purge_orphaned_tasks();
); }
);
}
} }
public static function getInstance(): Scheduler { public static function getInstance(): Scheduler {