Skip to content

Commit 7e04f6e

Browse files
committed
Allow usage of an in-memory message puller
1 parent 7141e01 commit 7e04f6e

4 files changed

Lines changed: 42 additions & 9 deletions

File tree

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
<?php
2+
3+
namespace ContinuousPipe\Message\InMemory;
4+
5+
use ContinuousPipe\Message\MessagePuller;
6+
use ContinuousPipe\Message\PulledMessage;
7+
8+
class ArrayMessagePuller implements MessagePuller
9+
{
10+
/**
11+
* @var PulledMessage[]
12+
*/
13+
private $messages;
14+
15+
/**
16+
* @param PulledMessage[] $messages
17+
*/
18+
public function __construct(array $messages = [])
19+
{
20+
$this->messages = $messages;
21+
}
22+
23+
/**
24+
* {@inheritdoc}
25+
*/
26+
public function pull(): \Generator
27+
{
28+
foreach ($this->messages as $message) {
29+
yield $message;
30+
}
31+
}
32+
}

src/ContinuousPipe/MessageBundle/Resources/config/command.xml

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,12 @@
88
<service id="continuouspipe.message.command.pull_and_consumer.throwable_catcher.doctrine" class="ContinuousPipe\Message\AutoRetry\CatchDoctrineDriverException" />
99
<service id="continuouspipe.message.command.pull_and_consumer.throwable_catcher" alias="continuouspipe.message.command.pull_and_consumer.throwable_catcher.doctrine" />
1010
<service id="continuouspipe.message.command.pull_and_consumer" class="ContinuousPipe\MessageBundle\Command\PullAndConsumeMessageCommand">
11-
<argument type="service" id="continuouspipe.message.message_poller" />
11+
<argument type="service" id="continuouspipe.message.message_puller" />
1212
<argument type="service" id="continuouspipe.message.message_consumer" />
1313
<argument type="service" id="continuouspipe.message.command.pull_and_consumer.throwable_catcher" />
1414
<argument type="service" id="logger" />
1515

1616
<tag name="console.command" />
1717
</service>
18-
19-
<service id="continuouspipe.message.command.extend_message_deadline" class="ContinuousPipe\MessageBundle\Command\ExtendMessageDeadlineCommand">
20-
<argument type="service" id="continuouspipe.message.google_pub_sub.message_poller"/>
21-
22-
<tag name="console.command" />
23-
</service>
2418
</services>
2519
</container>

src/ContinuousPipe/MessageBundle/Resources/config/drivers/direct.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
<argument type="service" id="continuouspipe.message.message_consumer" />
1010
</service>
1111

12+
<service id="continuouspipe.message.message_puller" class="ContinuousPipe\Message\InMemory\ArrayMessagePuller" />
1213
<service id="continuouspipe.message.message_producer" alias="continuouspipe.message.direct.message_producer" />
1314
</services>
1415
</container>

src/ContinuousPipe/MessageBundle/Resources/config/drivers/google-pub-sub.xml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
<argument>%google_pub_sub_topic%</argument>
1313
</service>
1414

15-
<service id="continuouspipe.message.google_pub_sub.message_poller" class="ContinuousPipe\Message\GooglePubSub\PubSubMessagePuller">
15+
<service id="continuouspipe.message.google_pub_sub.message_puller" class="ContinuousPipe\Message\GooglePubSub\PubSubMessagePuller">
1616
<argument type="service" id="jms_serializer" />
1717
<argument type="service" id="logger" />
1818
<argument>%google_pub_sub_project_id%</argument>
@@ -22,6 +22,12 @@
2222
</service>
2323

2424
<service id="continuouspipe.message.message_producer" alias="continuouspipe.message.google_pub_sub.message_producer" />
25-
<service id="continuouspipe.message.message_poller" alias="continuouspipe.message.google_pub_sub.message_poller" />
25+
<service id="continuouspipe.message.message_puller" alias="continuouspipe.message.google_pub_sub.message_puller" />
26+
27+
<service id="continuouspipe.message.command.extend_message_deadline" class="ContinuousPipe\MessageBundle\Command\ExtendMessageDeadlineCommand">
28+
<argument type="service" id="continuouspipe.message.google_pub_sub.message_puller"/>
29+
30+
<tag name="console.command" />
31+
</service>
2632
</services>
2733
</container>

0 commit comments

Comments
 (0)