function createQueueHandler
Since 0.2.0
createQueueHandler(
app: IApplication,
): QueueHandler

Builds the handler an application exports as queue.

The queue is resolved from the application's registry rather than passed in, so the processors registered through IQueue.process anywhere in the application are the processors this handler dispatches into — there is only ever one instance.

Resolution is lazy: the token is read on each invocation, not when this factory runs, so the export can be built before app.start() has registered anything.

Examples

Example 1

const app = createApplication({
  plugins: [RuntimePlugin({ env }), CloudflarePlugin({ env, queue: { binding: 'JOBS' } })],
});
await app.start();

export default { fetch: app.fetch, queue: createQueueHandler(app) };

Parameters

app: IApplication

The application whose registry carries the queue

optional
options: QueueHandlerOptions

Which named queue instance to dispatch into

Return Type

The handler to assign to the Worker's queue export

Throws

CloudflareUnsupportedError

At invocation time, when the resolved token holds an IQueue that is not a WorkersQueue — a memory or Redis queue has no batch to dispatch and would silently drop the delivery

Usage

import { createQueueHandler } from "cloudflare-plugin/src/index.ts";