diff --git a/src/Event/RegisterTasksEvent.php b/src/Event/RegisterTasksEvent.php index d63ab02..8aa1e4f 100644 --- a/src/Event/RegisterTasksEvent.php +++ b/src/Event/RegisterTasksEvent.php @@ -23,7 +23,7 @@ final class RegisterTasksEvent * * @throws DuplicateTaskRegisteredException */ - public function registerTask (Task $task) : self + public function register (Task $task) : self { $definition = $task->getMetaData(); $key = $definition->getKey(); diff --git a/src/Manager/TaskManager.php b/src/Manager/TaskManager.php index 89086d6..d4e6657 100644 --- a/src/Manager/TaskManager.php +++ b/src/Manager/TaskManager.php @@ -11,8 +11,7 @@ use Symfony\Component\Messenger\Transport\TransportInterface; use Torr\TaskManager\Config\BundleConfig; use Torr\TaskManager\Exception\Manager\InvalidMessageTransportException; -use Torr\TaskManager\Message\UniqueMessageInterface; -use Torr\TaskManager\Stamp\UniqueJobStamp; +use Torr\TaskManager\Task\Task; final class TaskManager { @@ -39,23 +38,12 @@ public function enqueue ( $jobId = $this->fetchJobIdFromMessage($message); } - if (null === $jobId) - { - $this->messageBus->dispatch($message); - return true; - } - - if (null !== $this->findQueuedMessageByUniqueJobId($jobId)) + if (null !== $jobId && null !== $this->findQueuedMessageByUniqueJobId($jobId)) { return false; } - $envelope = $message instanceof Envelope - ? $message - : new Envelope($message); - - $envelope = $envelope->with(new UniqueJobStamp($jobId)); - $this->messageBus->dispatch($envelope); + $this->messageBus->dispatch($message); return true; } @@ -70,9 +58,7 @@ private function findQueuedMessageByUniqueJobId (string $jobId) : ?Envelope { foreach ($this->fetchTasksInQueue($queueName) as $envelope) { - $stamp = $envelope->last(UniqueJobStamp::class); - - if (null !== $stamp && $stamp->jobId === $jobId) + if ($this->fetchJobIdFromMessage($envelope) === $jobId) { return $envelope; } @@ -138,6 +124,7 @@ public function getAllQueues () : array ); } + /** * */ @@ -149,11 +136,8 @@ private function fetchJobIdFromMessage (object $message) : ?string $message = $message->getMessage(); } - if ($message instanceof UniqueMessageInterface) - { - return $message->getJobId(); - } - - return null; + return $message instanceof Task + ? $message->getMetaData()->uniqueTaskId + : null; } } diff --git a/src/Message/UniqueMessageInterface.php b/src/Message/UniqueMessageInterface.php deleted file mode 100644 index 6a36174..0000000 --- a/src/Message/UniqueMessageInterface.php +++ /dev/null @@ -1,15 +0,0 @@ -