Docs

API Reference

Complete API reference for Alien Queue bindings.

send

Sends a message to the queue.

await queue.send(queueName, { type: "process-image", imageId: "123" })
await queue.sendText(queueName, "ping")
queue.send(queue_name, MessagePayload::Json(json!({
    "type": "process-image", "imageId": "123"
}))).await?;
queue.send(queue_name, MessagePayload::Text("ping".into())).await?;
ParameterTypeRequiredDescription
queueNamestringYesQueue name (matches stack definition).
payloadJSON | stringYesMax 64 KiB after serialization.

receive

Receives messages. Messages become invisible for 30 seconds (lease).

const messages = await queue.receive<T>(queueName, maxMessages?)
// messages: Array<{ payload: T, receiptHandle: string }>
let messages: Vec<QueueMessage> = queue.receive(queue_name, max_messages).await?;
ParameterTypeRequiredDescription
queueNamestringYesQueue name.
maxMessagesnumberNoDefault and max: 10.

ack

Acknowledges a message, permanently removing it. Idempotent.

await queue.ack(queueName, msg.receiptHandle)
queue.ack(queue_name, &msg.receipt_handle).await?;

process (TypeScript only)

Receives, calls handler, auto-acks on success.

await queue.process<T>(queueName, async (payload: T) => {
  await handleMessage(payload)
}, { maxMessages: 5 })

Types

interface ReceivedQueueMessage<T = unknown> {
  payload: T
  receiptHandle: string
}
pub enum MessagePayload {
    Json(serde_json::Value),
    Text(String),
}

pub struct QueueMessage {
    pub payload: MessagePayload,
    pub receipt_handle: String,
}

On this page