Overview
What this package owns in the runtime
Queues brings broker-backed and in-memory message delivery into xtaskjs. It registers named transports, discovers decorated consumers from DI-managed services, exposes injectable producer APIs, and coordinates retries, dead-letter routing, and consumer start-stop behavior through the application lifecycle.
What it provides
- configureQueues() sets default transport behavior and can disable the automatic in-memory transport.
- registerQueueTransport(), registerInMemoryQueueTransport(), createRabbitMqTransport(), and createMqttTransport() connect brokers or local transports.
- QueueHandler(), QueuePattern(), PublishToQueue(), InjectQueueService(), and InjectQueueTransport() cover consumer, producer, and transport-injection flows.
- QueueService can publish messages, create producers, inspect consumers and groups, and start or stop queue runtime state through lifecycle-managed APIs.
How it fits
- Initialized automatically by @xtaskjs/core when the package is installed and queue configuration or decorated consumers are present.
- Pairs with the built-in in-memory transport for local development and tests, and with RabbitMQ or MQTT helpers for broker-backed delivery.
- Demonstrated by the 16-queues_memory_app and 17-queues_rabbitmq_app samples.