BroccoliQueue
The main entry point for interacting with Broccoli message queues.Creating a queue
builder
Creates a new BroccoliQueueBuilder for configuring the queue.
broker_url- Connection URL for the message broker
builder_with (SurrealDB only)
Creates a builder with an existing SurrealDB connection.
Publishing
publish
Publishes a single message to a queue.
topic- Queue namedisambiguator- Optional identifier for fairness queuesmessage- The message payloadoptions- Optional publish configuration
BrokerMessage with generated task_id
Example:
publish_batch
Publishes multiple messages to a queue.
Consuming
consume
Consumes a message, blocking until one is available.
try_consume
Attempts to consume a message without blocking.
Some(message) if available, None otherwise
Example:
consume_batch
Consumes multiple messages with a timeout.
try_consume_batch
Attempts to consume multiple messages without blocking.
Message handling
acknowledge
Acknowledges successful processing of a message.
reject
Rejects a message, triggering retry or failure handling.
cancel
Cancels a message by ID.
Processing
process_messages
Processes messages in a loop with a handler function.
topic- Queue nameconcurrency- Number of concurrent workers (None for single-threaded)consume_options- Optional consume configurationhandler- Async function to process each message
process_messages_with_handlers
Processes messages with separate success and error handlers.
Queue information
size
Returns the size of queue(s).
queue_status (management feature)
Returns detailed queue status.
BroccoliQueueBuilder
Builder for configuringBroccoliQueue.