Node.js wrapper for Corinth, a Rust message queue server.
import { Corinth } from "corinth.js";
const hostUrl = "http://localhost:44444";
const corinth = new Corinth(hostUrl);
interface IItem {
id: string;
}
// myQueue contains IItem objects
// This does not create the queue, just defines a model to interact with
const myQueue = corinth.defineQueue<IItem>("myQueue");
// Ensure queue exists
await myQueue.ensure();
// Enqueue an item
await myQueue.enqueueOne({ id: "abc" });
// Get one or more items from the queue
// Gets one by default
const result = await myQueue.dequeue();
const message = result[0];
// Process your item
await processItem(message.item);
// Acknowledge success
await message.ack();