Enqueue is an MIT-licensed open source project with its ongoing development made possible entirely by the support of community and our customers. If you'd like to join them, please consider:
You can learn how to register extensions in quick tour. There's dedicated chapter for how to add extension in Symfony app.
It sets logger to queue consumer context. All log messages will go to it.
It clears Doctrine's identity map after a message is processed. It reduce memory usage.
It test a database connection and if it is lost it does reconnect. Fixes "MySQL has gone away" errors.
It comes with RPC code and simplifies reply logic. It takes care of sending a reply message to reply queue.
It responsible for configuring everything at a broker side. queues, topics, bindings and so on.
The extension is added at runtime when --setup-broker
option is used.
The extension counts processed message and once a limit is reached it interrupts consumption.
The extension is added at runtime when --message-limit=10
option is used.
The extension interrupts consumption once a memory limit is reached.
The extension is added at runtime when --memory-limit=512
option is used.
The value is Mb.
The extension interrupts consumption once time limit is reached.
The extension is added at runtime when --time-limit="now + 2 minutes"
option is used.
The extension catch process signals and gracefully stops consumption. Works only on NIX platforms.
The extension checks whether the received message is redelivered (There was attempt to process message but it failed). If so the extension reject the origin message and creates a copy message with a delay.
There is an extension ConsumerMonitoringExtension for Enqueue QueueConsumer. It could collect consumed messages and consumer stats for you and send them to Grafana, InfluxDB or Datadog.