informat.mq Message Queue
Overview
Use informat.mq to perform message queue operations
basicGet
Pull messages from the queue
informat.mq.basicGet(module, queue, autoAck);| Parameter | Type | Description |
|---|---|---|
| module | String | Message queue module identifier |
| queue | String | Queue identifier |
| autoAck | Boolean | Set whether to auto-acknowledge. Generally set to false, i.e., no auto-acknowledgment |
Return Value
Type is MqMessage
TIP
If you want to get a single message, use pull mode. However, you should not use loop pull mode to replace push mode as this will seriously affect performance.
Example
var message = informat.mq.basicGet("mq", "TaskQueue", true);
console.log("message", message);{
"body": "{\r\n\t'taskId':'1',\r\n\t'taskStatus':'finished'\r\n}",
"props": {
"contentLength": 0,
"deliveryTag": 1,
"finalRetryForMessageWithNoId": false,
"headers": {},
"lastInBatch": false,
"messageCount": 0,
"projectionUsed": false,
"publishSequenceNumber": 0,
"receivedDeliveryMode": "NON_PERSISTENT",
"receivedExchange": "",
"receivedRoutingKey": "croe0zft168y3-skyduxiaoxiduilie-Test1",
"redelivered": false
}
}publish
Send messages to the queue
informat.mq.publish(moduleKey, routingKey, setting, message);| Parameter | Type | Description |
|---|---|---|
| module | String | Message queue module identifier |
| routingKey | String | Routing key |
| setting | PublishSetting | Publish settings |
| message | String | Message to send |
INFO
- If setting.waitForConfirms is enabled, it will wait for the message queue to confirm that the message has been delivered successfully after message delivery. If delivery fails, an exception will be thrown
- Enabling setting.waitForConfirms will affect delivery performance, but it can ensure successful delivery
Example
//
let body = {
taskId: "1",
taskStatus: "finished",
};
informat.mq.publish("mq", "TaskQueue", null, JSON.stringify(body));queuePurge
Clear the queue
informat.mq.queuePurge(module, queue);| Parameter | Type | Description |
|---|---|---|
| module | String | Message queue module identifier |
| queue | String | Queue identifier |
Example
Send message queue after task completion
informat.mq.queuePurge("mq", "TaskQueue");basicAck
After receiving the message, manually acknowledge successful data reception
informat.mq.basicAck(message, multiple);| Parameter | Type | Description |
|---|---|---|
| message | MqMessage | Message object |
| multiple | Boolean | Whether to support batch confirmation |
Example
// Received task completion message event
informat.mq.basicAck(message, true);basicNack
Nack rejection method Allows consumers to reject a message and optionally requeue it or discard it
informat.mq.basicNack(message, multiple, requeue);| Parameter | Type | Description |
|---|---|---|
| message | MqMessage | Message object |
| multiple | Boolean | If false, indicates the message with this deliveryTag is rejected. If true, all messages with deliveryTag less than this one are rejected. |
| requeue | Boolean | Whether to redeliver to the queue |
Example
informat.mq.basicNack(message, true, true);basicReject
Reject rejection When a message is rejected and requeue is false, the message will be delivered to the dead letter queue
informat.mq.basicReject(message, requeue);| Parameter | Type | Description |
|---|---|---|
| message | MqMessage | Message object |
| requeue | Boolean | Whether to redeliver to the queue |
Example
informat.mq.basicReject(message, true);basicRecover
Resend unacknowledged messages
informat.mq.basicRecover(message, requeue);| Parameter | Type | Description |
|---|---|---|
| message | MqMessage | Message object |
| requeue | Boolean | If requeue is true, unacknowledged messages will be re-added to the queue, so the same message may be assigned to a different consumer than before. If false, the same message will be assigned to the same consumer as before |
Example
informat.mq.basicRecover(message, true);What to do if you accidentally delete a queue in the message queue backend?
- You can find the corresponding message queue in the configuration interface of the Informat message queue module, edit it, and republish it. The platform will automatically create the message queue.

