classes/Schedule.md

Schedule

Overview:

Schedule provides cron-based task scheduling built on top of the Job queue. Register recurring tasks with cron expressions and run due tasks with a single call.

Key behavior:

Public API:

Cron format: minute hour day month weekday

Example:

// Register jobs
Schedule::register('cleanup', '0 2 * * *', 'db.cleanup');
Schedule::register('reports', '0 9 * * 1', 'email.weekly', ['to' => 'admin@example.com']);
Schedule::register('heartbeat', '*/5 * * * *', 'system.ping');

// Register job handlers
Job::register('db.cleanup', function($job, $payload) {
    SQL::exec("DELETE FROM logs WHERE created_at < DATE_SUB(NOW(), INTERVAL 30 DAY)");
});

// In your cron runner (called every minute):
Schedule::run();