diff --git a/src/Symfony/Component/Scheduler/Command/DebugCommand.php b/src/Symfony/Component/Scheduler/Command/DebugCommand.php index f6c19939a574f..195d4baee9c39 100644 --- a/src/Symfony/Component/Scheduler/Command/DebugCommand.php +++ b/src/Symfony/Component/Scheduler/Command/DebugCommand.php @@ -17,6 +17,7 @@ use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Style\SymfonyStyle; +use Symfony\Component\Messenger\Envelope; use Symfony\Component\Scheduler\RecurringMessage; use Symfony\Component\Scheduler\ScheduleProviderInterface; use Symfony\Contracts\Service\ServiceProviderInterface; @@ -98,9 +99,24 @@ private static function renderRecurringMessage(RecurringMessage $recurringMessag $message = $recurringMessage->getMessage(); $trigger = $recurringMessage->getTrigger(); + if ($message instanceof Envelope) { + $message = $message->getMessage(); + } + + $messageName = (new \ReflectionClass($message))->getShortName(); + $triggerName = (new \ReflectionClass($trigger))->getShortName(); + + if ($message instanceof \Stringable) { + $messageName .= ": {$message}"; + } + + if ($trigger instanceof \Stringable) { + $triggerName .= ": {$trigger}"; + } + return [ - $message instanceof \Stringable ? (string) $message : (new \ReflectionClass($message))->getShortName(), - $trigger instanceof \Stringable ? (string) $trigger : (new \ReflectionClass($trigger))->getShortName(), + $messageName, + $triggerName, $recurringMessage->getTrigger()->getNextRunDate(now())->format(\DateTimeInterface::ATOM), ]; } diff --git a/src/Symfony/Component/Scheduler/Trigger/CronExpressionTrigger.php b/src/Symfony/Component/Scheduler/Trigger/CronExpressionTrigger.php index 5d9dba6d8f5b8..3a53bbc2c1a43 100644 --- a/src/Symfony/Component/Scheduler/Trigger/CronExpressionTrigger.php +++ b/src/Symfony/Component/Scheduler/Trigger/CronExpressionTrigger.php @@ -30,7 +30,7 @@ public function __construct( public function __toString(): string { - return "cron: {$this->expression->getExpression()}"; + return $this->expression->getExpression(); } public static function fromSpec(string $expression = '* * * * *'): self