From 5af5b7adf2d6345decbea726038e8ed697ffe90f Mon Sep 17 00:00:00 2001 From: Srinath Reddy Dudi Date: Fri, 24 Apr 2026 23:47:57 -0400 Subject: [PATCH] fixed bug where certain failed scheduled tasks were not recorded --- src/Recorders/ScheduledTaskRecorder.php | 36 ++++++++----------------- 1 file changed, 11 insertions(+), 25 deletions(-) diff --git a/src/Recorders/ScheduledTaskRecorder.php b/src/Recorders/ScheduledTaskRecorder.php index 6632a0d..63fd7f9 100644 --- a/src/Recorders/ScheduledTaskRecorder.php +++ b/src/Recorders/ScheduledTaskRecorder.php @@ -18,7 +18,9 @@ class ScheduledTaskRecorder extends Recorder public static $events = [ ScheduledTaskStarting::class, - ScheduledTaskFinished::class + ScheduledTaskFinished::class, + ScheduledTaskSkipped::class, + ScheduledTaskFailed::class ]; /** @@ -42,11 +44,17 @@ public function trackEvent($event) if ($event instanceof ScheduledTaskStarting ) { $this->start($event); } elseif ($event instanceof ScheduledTaskFinished ) { - $this->finish($event); + $event = $event->task; + if($event->exitCode === 0) { + $this->completeScheduledTask($event, 'completed'); + } else { + $this->completeScheduledTask($event, 'failed'); + } } elseif ($event instanceof ScheduledTaskSkipped ) { $this->skip($event); } elseif ($event instanceof ScheduledTaskFailed ) { - $this->fail($event); + $event = $event->task; + $this->completeScheduledTask($event, 'failed'); } } @@ -83,18 +91,6 @@ public function start(ScheduledTaskStarting $event) $this->laritor->pushEvent(static::$eventType, $payload); } - /** - * Handle the event. - * - * @param ScheduledTaskFinished $event - * @return void - */ - public function finish(ScheduledTaskFinished $event) - { - $event = $event->task; - $this->completeScheduledTask($event, 'completed'); - } - /** * @param ScheduledTaskSkipped $event * @return void @@ -126,16 +122,6 @@ public function skip(ScheduledTaskSkipped $event) $this->sendEvents(); } - /** - * @param ScheduledTaskFailed $event - * @return void - */ - public function fail(ScheduledTaskFailed $event) - { - $event = $event->task; - $this->completeScheduledTask($event, 'failed'); - } - public function completeScheduledTask($event, $status) { $scheduledTasks = collect( $this->laritor->getEvents(static::$eventType))