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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy