defineCloudflareJobsQueueExportFactoryWithEnvironmentAsync function

void defineCloudflareJobsQueueExportFactoryWithEnvironmentAsync(
  1. Future<JobConsumer> factory(
    1. CloudflareEnvironment environment
    )
)

Installs the standard Cloudflare Queue export for Routed jobs.

The factory is evaluated lazily once per Worker isolate. It may create an environment-backed RoutedJobs instance from D1, KV, or other bindings.

Implementation

void defineCloudflareJobsQueueExportFactoryWithEnvironmentAsync(
  Future<JobConsumer> Function(CloudflareEnvironment environment) factory,
) {
  Future<JobConsumer>? consumerFuture;
  cloudflare_bindings.defineCloudflareQueueExport((
    batch,
    environment,
    _,
  ) {
    consumerFuture ??= factory(environment);
    return consumerFuture!.then((consumer) {
      return processCloudflareJobBatch(batch, consumer);
    });
  });
}