Skip to content

[RabbitMQ] support for wildcard topics ("topic exchange") #65

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

Closed
dkarlovi opened this issue Apr 28, 2017 · 1 comment
Closed

[RabbitMQ] support for wildcard topics ("topic exchange") #65

dkarlovi opened this issue Apr 28, 2017 · 1 comment

Comments

@dkarlovi
Copy link
Contributor

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.

@makasim
Copy link
Member

makasim commented May 25, 2017

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.

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

No branches or pull requests

2 participants