defineCloudflareSchedulerExportFactoryWithEnvironmentAsync function

void defineCloudflareSchedulerExportFactoryWithEnvironmentAsync(
  1. Future<RoutedScheduler> factory(
    1. CloudflareEnvironment environment
    )
)

Installs a Cloudflare Cron Trigger that evaluates a Routed scheduler.

The factory is evaluated once per Worker isolate. Configure one fixed platform cron (usually every minute); the scheduler then decides which application schedules are due and dispatches their jobs.

Implementation

void defineCloudflareSchedulerExportFactoryWithEnvironmentAsync(
  Future<RoutedScheduler> Function(CloudflareEnvironment environment) factory,
) {
  Future<RoutedScheduler>? schedulerFuture;
  cloudflare_bindings.defineCloudflareScheduledExport((event, environment, _) {
    schedulerFuture ??= factory(environment);
    return schedulerFuture!.then((scheduler) async {
      await processCloudflareScheduleTick(event, scheduler);
    });
  });
}