10000 Add MessageHandler result to the PostRunEvent · symfony/symfony@dda4280 · GitHub
[go: up one dir, main page]

Skip to content

Commit dda4280

Browse files
committed
Add MessageHandler result to the PostRunEvent
1 parent 5feb749 commit dda4280

File tree

3 files changed

+12
-3
lines changed

3 files changed

+12
-3
lines changed

src/Symfony/Component/Scheduler/Event/PostRunEvent.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ public function __construct(
2020
private readonly ScheduleProviderInterface $schedule,
2121
private readonly MessageContext $messageContext,
2222
private readonly object $message,
23+
private readonly mixed $result,
2324
) {
2425
}
2526

@@ -37,4 +38,9 @@ public function getMessage(): object
3738
{
3839
return $this->message;
3940
}
41+
42+
public function getResult(): mixed
43+
{
44+
return $this->result;
45+
}
4046
}

src/Symfony/Component/Scheduler/EventListener/DispatchSchedulerEventListener.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
use Symfony\Component\Messenger\Event\WorkerMessageFailedEvent;
1919
use Symfony\Component\Messenger\Event\WorkerMessageHandledEvent;
2020
use Symfony\Component\Messenger\Event\WorkerMessageReceivedEvent;
21+
use Symfony\Component\Messenger\Stamp\HandledStamp;
2122
use Symfony\Component\Messenger\Stamp\StampInterface;
2223
use Symfony\Component\Scheduler\Event\FailureEvent;
2324
use Symfony\Component\Scheduler\Event\PostRunEvent;
@@ -40,7 +41,9 @@ public function onMessageHandled(WorkerMessageHandledEvent $event): void
4041
return;
4142
}
4243

43-
$this->eventDispatcher->dispatch(new PostRunEvent($this->scheduleProviderLocator->get($scheduledStamp->messageContext->name), $scheduledStamp->messageContext, $envelope->getMessage()));
44+
$result = $envelope->last(HandledStamp::class)->getResult();
45+
46+
$this->eventDispatcher->dispatch(new PostRunEvent($this->scheduleProviderLocator->get($scheduledStamp->messageContext->name), $scheduledStamp->messageContext, $envelope->getMessage(), $result));
4447
}
4548

4649
public function onMessageReceived(WorkerMessageReceivedEvent $event): void

src/Symfony/Component/Scheduler/Scheduler.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,10 +83,10 @@ public function run(array $options = []): void
8383
}
8484

8585
try {
86-
$this->handlers[$message::class]($message);
86+
$result = $this->handlers[$message::class]($message);
8787
$ran = true;
8888

89-
$this->dispatcher->dispatch(new PostRunEvent($generator->getSchedule(), $context, $message));
89+
$this->dispatcher->dispatch(new PostRunEvent($generator->getSchedule(), $context, $message, $result));
9090
} catch (\Throwable $error) {
9191
$failureEvent = new FailureEvent($generator->getSchedule(), $context, $message, $error);
9292
$this->dispatcher->dispatch($failureEvent);

0 commit comments

Comments
 (0)
0