Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 7407abd

Browse files
Move one messager after the other from list to stream
1 parent e3a2762 commit 7407abd

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

src/Symfony/Component/Messenger/Transport/RedisExt/Connection.php

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,9 @@ public function __construct(array $configuration, array $connectionCredentials =
5858
}
5959

6060
$this->stream = $configuration['stream'] ?? self::DEFAULT_OPTIONS['stream'];
61-
$this->queue = $this->stream.'_queue';
6261
$this->group = $configuration['group'] ?? self::DEFAULT_OPTIONS['group'];
6362
$this->consumer = $configuration['consumer'] ?? self::DEFAULT_OPTIONS['consumer'];
63+
$this->queue = $this->stream.'__queue';
6464
$this->autoSetup = $configuration['auto_setup'] ?? self::DEFAULT_OPTIONS['auto_setup'];
6565
$this->maxEntries = $configuration['stream_max_entries'] ?? self::DEFAULT_OPTIONS['stream_max_entries'];
6666
}
@@ -117,12 +117,14 @@ public function get(): ?array
117117
$queuedMessageCount = $this->connection->zcount($this->queue, 0, time());
118118

119119
if ($queuedMessageCount) {
120-
foreach ($this->connection->zpopmin($this->queue, $queuedMessageCount) as $queuedMessage => $time) {
121-
$queuedMessage = json_encode($queuedMessage, true);
122-
// if a futured placed message is actually popped because of a race condition with
123-
// another running message consumer, the message is readded to the queue by add function
124-
// else its just added stream and will be available for all stream consumers
125-
$this->add($queuedMessage['body'], $queuedMessage['headers'], (time() - $time) * 1000);
120+
for ($i = 0; $i < $queuedMessageCount; ++$i) {
121+
foreach ($this->connection->zpopmin($this->queue, 1) as $queuedMessage => $time) {
122+
$queuedMessage = json_encode($queuedMessage, true);
123+
// if a futured placed message is actually popped because of a race condition with
124+
// another running message consumer, the message is readded to the queue by add function
125+
// else its just added stream and will be available for all stream consumers
126+
$this->add($queuedMessage['body'], $queuedMessage['headers'], (time() - $time) * 1000);
127+
}
126128
}
127129
}
128130

0 commit comments

Comments
 (0)