Closed
Description
Messenger is great. But, we've only carried it 90% of the way. It's missing key features and key things to really make it as usable as it deserves to be. Similar to #30502, I'd like to ask for help & ideas from the community to really make it shine.
(Note: in some of these cases, we just need more review & testing to help push PR's forward).
- Validate transport options with OptionsResolver
- Some sort of decent dashboard (or integration) to get stats about the health of your queues
- Some support, docs, something, for spinning up multiple workers, restarting them, etc
- Allow 3rd parties to define virtual transports and the user them maps to real transports
- Review pending doc PRs
- Review pending doc issues
- [Messenger] Adding failure transport support #30970 Handling & Tracking Failed Messages Support
- [Messenger] RoutableMessageBus route to default bus #31288 make BusNameStamp option for migration path
- [Messenger] Add a redis stream transport #30917 redis adapter
- [Messenger] Allows to register handlers on a specific transport #30958 Allows to register handlers on a specific transport
- [Messenger] Remove base64_encode & use addslashes #30957 Remove base64_encode from PhpSerializer
- [Messenger][RFC] Generic TransportConfig stamp #30558 (and [Messenger] AMQP configuration and MessageBus::dispatch enhancements #29950 [Messenger] Add possibility to define routing key when sending message throught amqp #28772) Transport Configuration & priority support (and retry attempts, etc)
- [Messenger] Add Null Transport #29040, [Messenger] Add a "in-memory://" transport #29097 null transport
- [Messenger] Ensure message is handled only once per handler #30020 Calling all handlers, even if one fails
- [messenger] Adds a stamp to provide a routing key on message publishing #30008 multiple queues & routing key support for AMQP + routing key Envelope
- [Messenger] Adding MessageCountAwareInterface to get transport message count #30757 get size of messages waiting in a transport
- The default message bus name should start with
messenger.
#30670 make sure bus service ids are consistent - [Messenger][DX] Allow stamps to be passed directly to MessageBusInterface::dispatch() #30707 Adding argument to MessageBus::dispatch() for envelopes
- Changing to MessageDecodingFailedException so that invalid messages are rejected #30756 Fix serialization problem with empty messages
- [Messenger] Adding the "sync" transport to call handlers synchronously #30759 sync transport
- Avoid dispatching SendMessageToTransportsEvent on redeliver #30676 dispatch send event not on retry
- [Messenger] ReceiverInterface::handle() to get() & Worker with prioritized transports #30708 Move receive loop into Worker and allow supporting multiple transports
- Making the serializer configurable by transport #30628 transport-by-transport serialization config
- [Messenger] Add a Doctrine transport #29007 Doctrine transport (the Enqueue adapter is great, but we should support some basic adapters in core)
- [Messenger] New messenger:stop-workers Command #30754 Command to stop/restart all workers
- [Messenger] add welcome notice when running the command #29303
messenger:consume
has no output - [Messenger] Worker events + global retry functionality #30557 (
[RFC][Messenger] General message retry mechanism #27215[Messenger][AmqpExt] Add a retry mechanism for AMQP messages #27008) Retry mechanism - [Messenger] Worker events + global retry functionality #30557 (
[Messenger] Add "--force-consumption" option to force the consumption of messages #29132) Makingmessenger:consume
not fail when a worker fails - [Messenger] Worker events + global retry functionality #30557 Hook on worker failure so it can be handled/logged
- [Messenger] Changing message handling log levels to higher levels #30764 log error when messages fail on Worker
- Dispatching two events when a message is sent & handled #30650 Allow stamping messages dispatched by 3rd parties via events
- [Messenger] messenger:consume - bus should be determined automatically #30631 sent received messages to the correct bus automatically
-
[Messenger][RFC] Allow handler to choose the transport #30634 Possibly allow each handler of a message to be sent to a different transport (e.g. 1 handler async, 1 sync) and when received, only the 1 handler is executed. - [Messenger] Add a command to setup transports #29476 Command to setup transports
- [Messenger] Support for handling messages after current bus is finished #28849 Doctrine transaction support
- Add optional parameter
prefetching
for AMQP connection #30671 amqp prefetch
What else?
Metadata
Metadata
Assignees
Labels
Issues and PRs which are looking for volunteers to complete them.Issues and PRs which are looking for volunteers to complete them.RFC = Request For Comments (proposals about features that you want to be discussed)RFC = Request For Comments (proposals about features that you want to be discussed)