runmq 1.3.0 → 1.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -2
- package/dist/index.cjs +376 -161
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +27 -1
- package/dist/index.d.ts +27 -1
- package/dist/index.js +376 -161
- package/dist/index.js.map +1 -1
- package/package.json +9 -3
package/README.md
CHANGED
|
@@ -23,8 +23,9 @@ Whether you’re running <b>background jobs</b>, designing an <b>event-driven ar
|
|
|
23
23
|
- **Isolated Queues per Processor**: Each processor gets its own dedicated queue and DLQ, ensuring full isolation and predictable behavior across services.
|
|
24
24
|
- **Schema Validation**: Optional JSON Schema validation powered by AJV for safer message handling and data integrity.
|
|
25
25
|
- **Concurrent Consumers**: Scale either horizontally (multiple instances) or vertically (multiple consumers per queue, leveraging RabbitMQ prefetch) to maximize throughput and efficiency.
|
|
26
|
-
- **RabbitMQ Durability & Acknowledgements**: Leverages RabbitMQ
|
|
26
|
+
- **RabbitMQ Durability & Acknowledgements**: Leverages RabbitMQ's persistent storage and acknowledgment model to guarantee at-least-once delivery, even across restarts and failures.
|
|
27
27
|
- **Custom Logging**: Plug in your own logger or use the default console logger for full control over message visibility.
|
|
28
|
+
- **Management Dashboard**: A web-based dashboard for real-time monitoring and management of queues, DLQs, and message processing. [Check it out!](https://github.com/runmq/pulse)
|
|
28
29
|
|
|
29
30
|
## Installation
|
|
30
31
|
|
|
@@ -212,7 +213,24 @@ RunMQ can leverage RabbitMQ policies to manage the delay between attempts, it's
|
|
|
212
213
|
#### Benefits
|
|
213
214
|
- Flexible and easy management of retry delays
|
|
214
215
|
- Reduces operational overhead
|
|
215
|
-
- Fully compatible with RunMQ
|
|
216
|
+
- Fully compatible with RunMQ's retry and DLQ mechanisms
|
|
217
|
+
|
|
218
|
+
### Queue Metadata Storage
|
|
219
|
+
|
|
220
|
+
RunMQ automatically stores queue metadata (such as max retries and creation timestamp) using RabbitMQ's parameters API. This enables external tools and dashboards to discover RunMQ-managed queues and understand their configuration without direct access to the application code.
|
|
221
|
+
|
|
222
|
+
When a processor is configured, RunMQ creates a metadata parameter that stores:
|
|
223
|
+
- **Version**: Schema version for future-proof migrations.
|
|
224
|
+
- **Max Retries**: The configured retry limit for the queue.
|
|
225
|
+
- **Created At**: ISO 8601 timestamp when the queue was first configured.
|
|
226
|
+
- **Updated At**: ISO 8601 timestamp when the configuration was last changed (if applicable).
|
|
227
|
+
|
|
228
|
+
#### Benefits
|
|
229
|
+
- **Dashboard Integration**: External monitoring tools and dashboards can query RabbitMQ's management API to retrieve queue metadata and display topology information (e.g., "10 retries with 5s delay, then to DLQ").
|
|
230
|
+
- **Self-Documenting Queues**: Queue configurations are discoverable directly from RabbitMQ, without needing access to application source code.
|
|
231
|
+
- **Automatic Updates**: When processor configuration changes, metadata is automatically updated while preserving the original creation timestamp.
|
|
232
|
+
|
|
233
|
+
> **Note**: This feature requires RabbitMQ Management Plugin to be enabled for external tools to query the metadata parameters and for the parameters to be set.
|
|
216
234
|
|
|
217
235
|
### Custom Logger
|
|
218
236
|
|