Supporting Enqueue
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:
Consumption extensions.
You can learn how to register extensions in quick tour. There’s dedicated chapter for how to add extension in Symfony app.
LoggerExtension
It sets logger to queue consumer context. All log messages will go to it.
DoctrineClearIdentityMapExtension
It clears Doctrine’s identity map after a message is processed. It reduce memory usage.
DoctrinePingConnectionExtension
It test a database connection and if it is lost it does reconnect. Fixes “MySQL has gone away” errors.
DoctrineClosedEntityManagerExtension
The extension interrupts consumption if an entity manager has been closed.
ResetServicesExtension
It resets all services with tag “kernel.reset”. For example, this includes all monolog loggers if installed and will flush/clean all buffers, reset internal state, and get them back to a state in which they can receive log records again.
ReplyExtension
It comes with RPC code and simplifies reply logic. It takes care of sending a reply message to reply queue.
SetupBrokerExtension
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.
LimitConsumedMessagesExtension
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.
LimitConsumerMemoryExtension
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.
LimitConsumptionTimeExtension
The extension interrupts consumption once time limit is reached. The extension is added at runtime when --time-limit="now + 2 minutes"
option is used.
SignalExtension
The extension catch process signals and gracefully stops consumption. Works only on NIX platforms.
DelayRedeliveredMessageExtension
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.
ConsumerMonitoringExtension
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.