AbstractWhether this driver is a BY-DESIGN high-frequency poller — a dispatcher that
sweeps a work queue on a tight cron (e.g. every minute) and does bounded work
per sweep. Overriding to true exempts jobs of this type from the engine's
high-frequency cron warning banner. Leave false for ordinary jobs: the
warning exists because a tight cron on a work job is usually a design smell.
AbstractExecuteExecute the scheduled job
This is the main entry point for job execution. The plugin should:
The Details object will be serialized to JSON and stored in ScheduledJobRun.Details
Execution context including schedule, run record, and user
Promise resolving to execution result
AbstractFormatFormat notification content for job completion
Called by the engine when notifications are enabled and should be sent. The plugin can customize the notification based on the job type and execution result.
Execution context
The execution result
Notification content
ProtectedgetProtectedGet the job type entity for this plugin
The schedule
User context
Optionalprovider: IMetadataProviderPromise resolving to the job type entity
ProtectedlogProtectedLog execution progress
Log message
Whether to only log in verbose mode
ProtectedlogProtectedLog execution error
Error message
Optionalerror: anyOptional error object
ProtectedparseProtectedParse and validate the Configuration JSON field
Helper method for plugins to parse their configuration with type safety. Throws if configuration is invalid.
The configuration type
The schedule containing the configuration
Parsed configuration
AbstractValidateValidate job-specific configuration
Called when creating or updating a scheduled job to ensure the Configuration JSON is valid for this job type.
The schedule being validated
Validation result with any errors or warnings
Abstract base class for scheduled job implementations
Each ScheduledJobType in the database has a corresponding DriverClass that extends this base. The plugin is responsible for:
Example