Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RabbitMQ streams #42411

Open
AhmedSamy opened this issue Aug 6, 2021 · 2 comments
Open

RabbitMQ streams #42411

AhmedSamy opened this issue Aug 6, 2021 · 2 comments

Comments

@AhmedSamy
Copy link

@AhmedSamy AhmedSamy commented Aug 6, 2021

Description
Messenger to support the new rabbitMQ streams in 3.9
https://blog.rabbitmq.com/posts/2021/07/rabbitmq-streams-overview/

Example

framework:
    messenger:
        transports:
            amqp:
                dsn: "%env(MESSENGER_TRANSPORT_DSN)%"
                options:
                    //stream related options 
Parameter Name Description Default
stream The stream to publish to. No default, mandatory setting.
name The logical name of the producer. Specify a name to enable message deduplication. null (no deduplication)
batchSize The maximum number of messages to accumulate before sending them to the broker. 100
subEntrySize The number of messages to put in a sub-entry. A sub-entry is one "slot" in a publishing frame, meaning outbound messages are not only batched in publishing frames, but in sub-entries as well. Use this feature to increase throughput at the cost of increased latency and potential duplicated messages even when deduplication is enabled. 1 (meaning no use of sub-entry batching)
maxUnconfirmedMessages The maximum number of unconfirmed outbound messages. Producer#send will start blocking when the limit is reached. 10,000
batchPublishingDelay Period to send a batch of messages. 100 ms
confirmTimeout Time before the client calls the confirm callback to signal outstanding unconfirmed messages timed out. 30 seconds
enqueueTimeout Time before enqueueing of a message fail when the maximum number of unconfirmed is reached. The callback of the message will be called with a negative status. Set the value to Duration.ZERO if there should be no timeout. 10 seconds.

May be that's already possible, but I couldn't make it work, feel free to advice please

@lyrixx
Copy link
Member

@lyrixx lyrixx commented Aug 6, 2021

I don't think the PHP amqp ext support it ATM

@mrjingles
Copy link

@mrjingles mrjingles commented Aug 18, 2021

The new streaming component of RabbitMQ also requires messages to be consumed by basic.consume instead of basic.get what is not yet supported by the messenger.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
4 participants