interface WorkersMessagingArm
Since 0.2.0

Wires a Cloudflare Queues producer binding up as the application's IMessageBroker under CAPABILITIES.MESSAGING.

Producing is all this arm configures. Consuming needs the Worker module to export the handler createMessagingHandler(app) builds, and the queue to be declared as a consumer in wrangler.toml — neither of which a plugin option can do on the application's behalf.

publish reaches one consumer Worker, not every subscriber in the cluster. A Cloudflare queue allows exactly one active consumer, so two Workers cannot both receive one published message; fan-out happens across the handlers registered inside that consumer. A topology needing cross-service fan-out binds one queue per consuming service.

Registering this arm and MessagingPlugin in one application fails at startup: the kernel rejects two providers of one capability token. Register exactly one.

Properties

readonly
binding: string

The Queues producer binding name from wrangler.toml.

readonly
optional
name: string

Instance name. 'default' (the default) claims the bare messaging token; anything else derives messaging.<name>, which MessagingHandlerOptions.name must then match.

readonly
optional
rpc: WorkersMessagingRpcArm

Enable request/respond. Omitted, both throw CloudflareUnsupportedError naming this arm.

Usage

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