diff --git a/src/Command/QueueTasksCommand.php b/src/Command/QueueTasksCommand.php index ca3ef30..dabfbda 100644 --- a/src/Command/QueueTasksCommand.php +++ b/src/Command/QueueTasksCommand.php @@ -10,6 +10,7 @@ use Torr\Cli\Console\Style\TorrStyle; use Torr\TaskManager\Exception\Registry\UnknownTaskKeyException; use Torr\TaskManager\Manager\TaskManager; +use Torr\TaskManager\Receiver\ReceiverHelper; use Torr\TaskManager\Registry\Data\Task; use Torr\TaskManager\Registry\TaskRegistry; @@ -21,6 +22,7 @@ final class QueueTasksCommand extends Command public function __construct ( private readonly TaskRegistry $taskRegistry, private readonly TaskManager $taskManager, + private readonly ReceiverHelper $receiverHelper, ) { parent::__construct(); @@ -42,7 +44,12 @@ protected function configure () : void protected function execute (InputInterface $input, OutputInterface $output) : int { $io = new TorrStyle($input, $output); - $io->title("Task Manager: Queue Task"); + $io->title("Task Manager: Queue Task"); + + if ($this->receiverHelper->hasSyncTransport()) + { + $io->caution("The app is using sync transports: that means that registered tasks are directly worked on."); + } try { diff --git a/src/Receiver/ReceiverHelper.php b/src/Receiver/ReceiverHelper.php new file mode 100644 index 0000000..a0ddc5c --- /dev/null +++ b/src/Receiver/ReceiverHelper.php @@ -0,0 +1,37 @@ + */ + #[TaggedIterator("messenger.receiver")] + private readonly iterable $transports, + ) {} + + /** + * Returns whether the app uses sync transports + */ + public function hasSyncTransport () : bool + { + foreach ($this->transports as $transport) + { + if ($transport instanceof SyncTransport) + { + return true; + } + } + + return false; + } +}