Stratal API Reference
    Preparing search index...

    Interface CronJob

    Interface for cron jobs that can be registered by modules

    Cron jobs are executed when Cloudflare triggers match their schedule. Jobs are registered via the module's getCronJobs() method.

    @Transient()
    export class DataCleanupJob implements CronJob {
    readonly schedule = '0 2 * * *' // Daily at 2 AM UTC

    constructor(
    @inject(LOGGER_TOKENS.LoggerService) private logger: LoggerService,
    ) {}

    async execute(controller: ScheduledController): Promise<void> {
    this.logger.info('Running data cleanup')
    await this.cleanupExpiredData()
    }

    async onError(error: Error): Promise<void> {
    this.logger.error('Data cleanup failed', { error: error.message })
    }
    }
    interface CronJob {
        schedule: string;
        execute(controller: ScheduledController): Promise<void>;
        onError?(error: Error, controller: ScheduledController): Promise<void>;
    }
    Index

    Properties

    Methods

    Properties

    schedule: string

    Cron expression that triggers this job

    Must match a cron trigger defined in wrangler.jsonc

    '0 2 * * *' // Daily at 2 AM UTC
    
    '* /15 * * * *' // Every 15 minutes
    

    Methods

    • Execute the cron job

      Parameters

      • controller: ScheduledController

        Cloudflare ScheduledController with scheduledTime and cron

      Returns Promise<void>

      ApplicationError for expected errors

    • Optional error handler for job execution failures

      If not provided, errors are logged via GlobalErrorHandler

      Parameters

      • error: Error

        Error that occurred during execution

      • controller: ScheduledController

        Cloudflare ScheduledController

      Returns Promise<void>