docs: render references from source metadata

This commit is contained in:
Zef Hemel
2026-07-16 12:07:56 +02:00
parent 75ca3b9c39
commit 8e004812bc
29 changed files with 109 additions and 2633 deletions
+3 -64
View File
@@ -8,7 +8,10 @@ references:
The Message Queue API provides functions for implementing a simple message queue system.
${spacelua.renderApiDocumentation("mq")}
## Example
```space-lua
mq.subscribe {
queue = "testqueue",
@@ -24,67 +27,3 @@ mq.subscribe {
${widgets.button("Send message on queue", function()
mq.send("testqueue", "Hello world")
end)}
## API
### mq.subscribe(spec)
Subscribe to a queue. Spec keys:
* `queue`: name of the queue to subscribe to
* `batchSize`: maximum number of messages to ingest per run
* `autoAck`: (defaults to `true`), whether to automatically acknowledge a message if no error occurs during processing
* `run`: callback with the function to run, will receive a `messages` argument where each message is a table containing:
* `queue`: name of the queue the message was sent to
* `id`: message id
* `body`: message body
### mq.send(queue, body)
Sends a message to a queue.
Example:
```lua
mq.send("tasks", "my task")
```
### mq.batchSend(queue, bodies)
Sends multiple messages to a queue in a single operation.
Example:
```lua
mq.batchSend("tasks", {"task 1", "task 2" })
```
### mq.ack(queue, id)
Acknowledges a message from a queue, marking it as processed.
Example:
```lua
mq.ack("tasks", "message-123")
```
### mq.batchAck(queue, ids)
Acknowledges multiple messages from a queue in a single operation.
Example:
```lua
mq.batchAck("tasks", {"msg1", "msg2", "msg3"})
```
## Queue Management
### mq.getQueueStats(queue)
Retrieves statistics about a particular queue.
Example:
```lua
local stats = mq.getQueueStats("tasks")
print("Queue size: " .. stats.size)
print("Processing: " .. stats.processing)
```
### mq.awaitEmptyQueue(queue)
Waits for a queue to become empty.
Example:
```lua
mq.awaitEmptyQueue("tasks")
```