You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
RabbitMQ supports specifying an exchange supporting wildcard topics, named a topic exchange.
I'm looking into implementing converting Doctrine events to Enqueue messages (idea is, Doctrine persist and by which triggers async job which was waiting for some precondition). I'd like to be able convert Doctrine events to messages of topic doctrine.<entity>.<event type> (for example, doctrine.image.postPersist). This could be used for all sorts of things, for example converting Symfony events and listening for *.ERROR (which is also on my TODO list).
Having wildcard topic support means processors might subscribe to:
doctrine.image.* - only interested in images
doctrine.*.postPersist - interested in persisting any entity
doctrine.image.postPersist - interested in persiting an Image entity
You can clump all of this together where each processor rejects messages it's not interested in, but in high throughput environments having your processors trigger on each message just to reject them, with RabbitMQ supporting it natively is a wasted opportunity IMO.
The text was updated successfully, but these errors were encountered:
This feature is supported by amqp transport itself but the semantics will not be supported for client's topics. Though there is always a possibility to overwrite the router processor and put such logic there.
RabbitMQ supports specifying an exchange supporting wildcard topics, named a topic exchange.
I'm looking into implementing converting Doctrine events to Enqueue messages (idea is, Doctrine persist and by which triggers async job which was waiting for some precondition). I'd like to be able convert Doctrine events to messages of topic
doctrine.<entity>.<event type>
(for example,doctrine.image.postPersist
). This could be used for all sorts of things, for example converting Symfony events and listening for*.ERROR
(which is also on my TODO list).Having wildcard topic support means processors might subscribe to:
doctrine.image.*
- only interested in imagesdoctrine.*.postPersist
- interested in persisting any entitydoctrine.image.postPersist
- interested in persiting an Image entityYou can clump all of this together where each processor rejects messages it's not interested in, but in high throughput environments having your processors trigger on each message just to reject them, with RabbitMQ supporting it natively is a wasted opportunity IMO.
The text was updated successfully, but these errors were encountered: