feat: centralize application framework primitives
This commit is contained in:
@@ -5,8 +5,27 @@ import {
|
||||
cronToInterval,
|
||||
defineWorkflow,
|
||||
memoryQueueStore,
|
||||
defineWorker,
|
||||
runWorker,
|
||||
} from "../src/index.ts";
|
||||
|
||||
test("durable queues batch enqueue and worker lifecycle are idempotent", async () => {
|
||||
const queue = createDurableQueue();
|
||||
const seen: number[] = [];
|
||||
const worker = runWorker(
|
||||
queue,
|
||||
defineWorker<number>({ name: "number", handler: (job) => void seen.push(job.data) }),
|
||||
);
|
||||
await worker.start();
|
||||
await worker.start();
|
||||
const jobs = await queue.addBatch("number", [{ data: 1 }, { data: 2 }]);
|
||||
expect(jobs).toHaveLength(2);
|
||||
await queue.drain();
|
||||
expect(seen).toEqual([1, 2]);
|
||||
await worker.stop();
|
||||
expect(worker.running).toBe(false);
|
||||
});
|
||||
|
||||
test("processes a job", async () => {
|
||||
const queue = createQueue();
|
||||
const done: string[] = [];
|
||||
|
||||
Reference in New Issue
Block a user