Skip to content

Commit d1599d8

Browse files
authored
Merge pull request #39 from 21TORR/sync-check
Skip internal queue when checking for sync queues
2 parents 70c362c + 85ff769 commit d1599d8

4 files changed

Lines changed: 20 additions & 4 deletions

File tree

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
2.3.2
2+
=====
3+
4+
* (improvement) Skip `task_manager_internals` queue when checking for sync-queues.
5+
6+
7+
18
2.3.1
29
=====
310

src/DependencyInjection/TaskManagerBundleExtension.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
use Torr\TaskManager\Config\BundleConfig;
99
use Torr\TaskManager\Log\LogCleaner;
1010
use Torr\TaskManager\Task\DispatchAfterRunTask\DispatchAfterRunTask;
11+
use Torr\TaskManager\Transport\TransportsHelper;
1112

1213
/**
1314
* @final
@@ -49,12 +50,12 @@ public function prepend (ContainerBuilder $container) : void
4950
// We only register the sync task, so that the own tasks are worked on right away
5051
"messenger" => [
5152
"transports" => [
52-
"task_manager_internals" => [
53+
TransportsHelper::INTERNAL_TRANSPORT_NAME => [
5354
"dsn" => 'sync://',
5455
],
5556
],
5657
"routing" => [
57-
DispatchAfterRunTask::class => "task_manager_internals",
58+
DispatchAfterRunTask::class => TransportsHelper::INTERNAL_TRANSPORT_NAME,
5859
],
5960
],
6061
]);

src/Task/DispatchAfterRunTask/DispatchAfterRunTask.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,15 @@
55
use Symfony\Component\Messenger\Attribute\AsMessage;
66
use Torr\TaskManager\Task\Task;
77
use Torr\TaskManager\Task\TaskMetaData;
8+
use Torr\TaskManager\Transport\TransportsHelper;
89

910
/**
1011
* This task takes another task and puts it into the queue.
1112
*
1213
* This task is supposed to be worked on synchronously, as it is pretty lightweight and only
1314
* redispatches the given task.
1415
*/
15-
#[AsMessage(transport: "task_manager_internals")]
16+
#[AsMessage(transport: TransportsHelper::INTERNAL_TRANSPORT_NAME)]
1617
readonly class DispatchAfterRunTask extends Task
1718
{
1819
public function __construct (

src/Transport/TransportsHelper.php

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
*/
1717
final readonly class TransportsHelper
1818
{
19+
public const string INTERNAL_TRANSPORT_NAME = "task_manager_internals";
20+
1921
/**
2022
*/
2123
public function __construct (
@@ -29,8 +31,13 @@ public function __construct (
2931
*/
3032
public function hasSyncTransport () : bool
3133
{
32-
foreach ($this->getAllTransports() as $transport)
34+
foreach ($this->getAllTransports() as $name => $transport)
3335
{
36+
if (self::INTERNAL_TRANSPORT_NAME === $name)
37+
{
38+
continue;
39+
}
40+
3441
if ($transport instanceof SyncTransport)
3542
{
3643
return true;

0 commit comments

Comments
 (0)