diff --git a/CHANGELOG.md b/CHANGELOG.md index 4986276..48f727e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,16 @@ +2.3.4 +===== + +* (bug) Add missing run integration for `DispatchAfterRunTaskHandler`. + + 2.3.3 ===== * (improvement) Simplify task run duration calculation. * (improvement) Transform exception to log entry, so that the worker doesn't constantly fail. * (deprecation) Deprecate entity getters in favor of properties. -* (improvement) Add explicit task class field. +* (improvement) Add explicit task `class` field. 2.3.2 diff --git a/src/Director/RunDirector.php b/src/Director/RunDirector.php index 748da23..0692c29 100644 --- a/src/Director/RunDirector.php +++ b/src/Director/RunDirector.php @@ -10,7 +10,7 @@ final class RunDirector { - private TorrStyle $io; + public private(set) TorrStyle $io; private ChainOutput $output; /** diff --git a/src/Task/DispatchAfterRunTask/DispatchAfterRunTaskHandler.php b/src/Task/DispatchAfterRunTask/DispatchAfterRunTaskHandler.php index bec36d1..cc9df62 100644 --- a/src/Task/DispatchAfterRunTask/DispatchAfterRunTaskHandler.php +++ b/src/Task/DispatchAfterRunTask/DispatchAfterRunTaskHandler.php @@ -4,6 +4,7 @@ use Symfony\Component\Messenger\Attribute\AsMessageHandler; use Symfony\Component\Messenger\Stamp\TransportNamesStamp; +use Torr\TaskManager\Director\TaskDirector; use Torr\TaskManager\Manager\TaskManager; /** @@ -15,6 +16,7 @@ */ public function __construct ( private TaskManager $taskManager, + private TaskDirector $taskDirector, ) {} /** @@ -23,10 +25,18 @@ public function __construct ( #[AsMessageHandler] public function onDispatchAfterRunTask (DispatchAfterRunTask $task) : void { + $run = $this->taskDirector->startRun($task); + + $run->io->writeln(\sprintf( + "Redispatching task %s", + $task->task::class, + )); + $stamps = !empty($task->transportNames) ? [new TransportNamesStamp($task->transportNames)] : []; $this->taskManager->enqueue($task->task, $stamps); + $run->finish(success: true); } }