TemplateSingle message or array of messages to publish
Optionaloptions: PublishOptionsOptional PublishOptions for transaction and partitioning
Promise that resolves when message(s) are inserted into outbox table
// Queue single message
await outbox.queue(event)
// Queue multiple messages atomically
await outbox.queue([event1, event2, event3])
// Queue with transaction for consistency
await sql.begin(async (sql) => {
await db.updateInventory(item, sql)
await outbox.queue(inventoryUpdatedEvent, { tx: sql })
})
Function type for publishing messages to the outbox.
Message - The type of the domain message/event