ScheduleLog - viames/pair GitHub Wiki
Pair framework: ScheduleLog
Pair\Models\ScheduleLog persists execution outcomes of scheduled tasks.
When to use
Use ScheduleLog to audit periodic jobs, inspect failures, and expose scheduler health in admin dashboards.
Main behavior
_init()defines model schema and constraints for scheduler logs.- Stores status, messages, and execution metadata.
Implementation examples
Basic write
$log = new \Pair\Models\ScheduleLog();
$log->task = 'cleanup-temp-files';
$log->status = 'success';
$log->message = 'Removed 42 files';
$log->store();
Failure trace
try {
(new CleanupService())->run();
$log = new \Pair\Models\ScheduleLog();
$log->task = 'cleanup-temp-files';
$log->status = 'success';
$log->message = 'Cleanup completed';
$log->store();
} catch (\Throwable $e) {
$log = new \Pair\Models\ScheduleLog();
$log->task = 'cleanup-temp-files';
$log->status = 'error';
$log->message = $e->getMessage();
$log->store();
}
Common pitfalls
- Logging only success events hides operational risk.
- Avoid huge exception traces in a single column; store concise summaries.