Table of Contents

Namespace Quartz

Classes

AdoJobStoreOptions

Strongly typed configuration for the ADO.NET (persistent) job store.

AndMatcher<TKey>

Matches using an AND operator on two Matcher operands.

CalendarIntervalScheduleBuilder

CalendarIntervalScheduleBuilder is a IScheduleBuilder that defines calendar time (day, week, month, year) interval-based schedules for Triggers.

CalendarQuery

Selects calendar names.

ClusterNode

One scheduler node as the job store knows it: the listing projection behind QueryClusterNodes(CancellationToken).

ClusteringOptions

Strongly typed configuration for taking part in a cluster.

CronExpression

Provides a parser and evaluator for unix-like cron expressions. Cron expressions provide the ability to specify complex time combinations such as "At 8:00am every Monday through Friday" or "At 1:30am every last Friday of the month".

CronExpressionBuilder

CronExpressionBuilder provides a fluent API for composing cron expression strings programmatically, one field at a time - useful when a schedule is assembled from user input (e.g. a scheduling UI) rather than hand-written.

CronScheduleBuilder

CronScheduleBuilder is a IScheduleBuilder that defines CronExpression-based schedules for ITriggers.

DailyTimeIntervalScheduleBuilder

A IScheduleBuilder implementation that build schedule for DailyTimeIntervalTrigger.

DataMapExtensions

The typed read accessors for JobDataMap and SchedulerContext.

DataSourceOptions

Strongly typed configuration for a single named ADO.NET data source.

DataSourceOptions.Providers

The names of the ADO.NET drivers Quartz ships a description for.

DateBuilder

DateBuilder is used to conveniently create DateTimeOffset instances that meet particular criteria.

DisallowConcurrentExecutionAttribute

An attribute that marks a IJob class as one that must not have multiple instances executed concurrently (where instance is based-upon a IJobDetail definition - or in other words based upon a JobKey).

EverythingMatcher<TKey>

Matches every key.

ExecutionLimits

An immutable set of concurrency limits for execution groups. Execution groups are optional tags on triggers that characterize the resource requirements of the associated job (e.g. "batch-jobs", "high-cpu", "large-ram").

ExecutionLimitsBuilder

Builds the ExecutionLimits a scheduler applies when it acquires triggers.

ExecutionSlots

A ledger of the execution-group slots still free during one trigger acquisition, created from an ExecutionLimits snapshot by CreateSlots(IReadOnlyCollection<ExecutionGroupInFlight>?).

FileSchedulingOptions

Configuration for loading the schedule from files, in either XML or JSON form.

FireInstance

One firing of a trigger: reserved by a scheduler node, or running on it. The listing projection behind QueryFireInstances(FireInstanceQuery, CancellationToken).

FireInstanceQuery

Selects firings, as FireInstances. The filters combine with AND.

GroupMatcher<TKey>

Matches on group (ignores name) property of Keys.

HttpClientException

A failure HttpScheduler could not attribute to a Quartz exception the server named.

HttpClientOptions

What AddQuartzHttpClient needs to build an HttpScheduler: which remote scheduler to address, and which HttpClient to reach it with.

HttpScheduler

An IScheduler that reaches a scheduler in another process through the Quartz HTTP API.

InMemoryJobStoreOptions

Strongly typed configuration for the in-memory job store.

JobBuilder

JobBuilder is used to instantiate IJobDetails.

JobBuilder<TJob>

JobBuilder is used to instantiate IJobDetails for a known job type.

JobDataMap

Holds state information for IJob instances.

JobDetailExtensions

Conveniences over IJobDetail that need nothing but the interface.

JobExecutionContextInputExtensions

Reads the input a job was scheduled with.

JobExecutionException

An exception that can be thrown by a IJob to indicate to the Quartz IScheduler that an error occurred while executing, and whether or not the IJob requests to be re-fired immediately (using the same IJobExecutionContext), or whether it wants to be unscheduled.

JobExecutionProcessException

This exception may be thrown when an error occurs during execution:

  • Job execution
  • JobListener methods
  • TriggerListener methods The exception ensures that the job execution context is transferred to the implementation of the error handling method of the scheduler listener, to try to fix the problem.
JobFactoryOptions

Settings for the job factory that builds jobs from the container.

JobGroup

A job group listing entry.

JobGroupQuery

Selects job groups, as JobGroups.

JobHeader

A job listing entry: the job's metadata without its JobDataMap, so that listing jobs never loads or deserializes job data.

JobHistoryLoggingOptions

Message templates for the classic job history logging plugin.

JobInputBuilderExtensions

Puts an IJob<TInput>'s input on the job or the trigger being built.

JobInstantiationException

Thrown when the IJobFactory cannot produce a job instance for a trigger that has already fired.

JobKey

Uniquely identifies a IJobDetail.

JobPersistenceException

An exception that is thrown to indicate that there has been a failure in the scheduler's underlying persistence mechanism.

JobQuery

Selects jobs, as JobHeaders.

JobTimeoutAttribute

How long a firing of this job may run before the scheduler signals cancellation to it. Read by the timeout middleware AddJobTimeout registers, and overrides that call's scheduler-wide default.

JobType

Store the Job Type and FullName for serialization

JsonSerializationException

A trigger, calendar or job data map that could not be written to, or read back out of, the store's JSON.

KeyMatcher<TKey>

Matches on the complete key being equal (both name and group).

Key<T>

Object representing a job or trigger key.

Matchers

The entry point for building matchers: the roots live here as static factories, and the combinators — And<TKey>(IMatcher<TKey>, IMatcher<TKey>), Or<TKey>(IMatcher<TKey>, IMatcher<TKey>) and Not<TKey>(IMatcher<TKey>) — are extension methods on any IMatcher<T>, so an expression reads left to right:

NameMatcher

Matches a name that belongs to no key: a calendar's name, or a group's.

NameMatcher<TKey>

Matches on name (ignores group) property of Keys.

NewtonsoftJsonConfigurationExtensions

Selects Newtonsoft.Json as a persistent store's serializer.

NotMatcher<TKey>

Matches using an NOT operator on another Matcher.

ObjectAlreadyExistsException

An exception that is thrown to indicate that an attempt to store a new object (i.e. IJobDetail,ITrigger or ICalendar) in a IScheduler failed, because one with the same name and group already exists.

OrMatcher<TKey>

Matches using an OR operator on two Matcher operands.

PagedQuery

Base for job store queries whose results can be paged.

PagedResult<T>

One page of results for a PagedQuery.

PersistJobDataAfterExecutionAttribute

An attribute that marks a IJob class as one that makes updates to its JobDataMap during execution, and wishes the scheduler to re-store the JobDataMap when execution completes.

PersistentStoreBuilderExtensions

Database-specific configuration for a persistent job store.

PluginConfigurationExtensions

Adds the plugins shipped in Quartz.Plugins to a scheduler.

QuartzAspNetCoreConfigurationExtensions

Registers and maps the Quartz HTTP API — the server half of Quartz.HttpClient.

QuartzAspireHostApplicationBuilderExtensions

Registers a Quartz persistent job store from an Aspire connection name.

QuartzAspireSettings

The settings AddQuartzPersistentStore(IHostApplicationBuilder, string, Action<QuartzAspireSettings>?) reads, bound from Aspire:Quartz and then from Aspire:Quartz:<connection name> over it.

QuartzBuilderExtensions

Adds jobs, triggers and calendars to a scheduler, and selects the built-in type loader.

QuartzDashboardEndpointRouteBuilderExtensions

Maps the Quartz.NET Dashboard's pages, hub and assets into an application's routes.

QuartzDashboardOptions

How the dashboard is served and what it is allowed to do.

QuartzDashboardServiceCollectionExtensions

Registers the Quartz.NET Dashboard's services.

QuartzHealthCheckExtensions

Registers the Quartz scheduler health check.

QuartzHealthCheckOptions

Options for the Quartz scheduler health check registered by AddQuartz(IHealthChecksBuilder, Action<QuartzHealthCheckOptions>?) and by AddQuartzHealthChecks(IQuartzBuilder, Action<QuartzHealthCheckOptions>?).

QuartzHostApplicationBuilderExtensions

Registers Quartz on a host application builder, which is how an application built by Host.CreateApplicationBuilder or WebApplication.CreateBuilder adds anything else.

QuartzHostedService

Runs the schedulers registered in the container for as long as the application runs.

QuartzHostedServiceOptions

How QuartzHostedService starts and stops one scheduler.

QuartzHttpApiOptions

How the HTTP API is served.

QuartzHttpClientServiceCollectionExtensions

Registers schedulers that live in another process and are driven over Quartz's HTTP API.

QuartzOptions

The flat quartz.* property keys a scheduler was configured with.

QuartzSchedulerBuilder

Builds a scheduler without an application-supplied dependency injection container.

QuartzSchedulerOptions

Strongly typed configuration for the scheduler itself.

QuartzServiceCollectionExtensions

Registers Quartz schedulers, and the hosted service that runs them, into an application's container.

RecurrenceScheduleBuilder

RecurrenceScheduleBuilder is a IScheduleBuilder that defines RFC 5545 RRULE-based schedules for triggers.

RedisLockHandlerConfigurationExtensions

Configures RedisLockHandler as the lock handler for a persistent job store.

RedisLockHandlerOptions

Options for configuring the Redis-based lock handler.

RetryPolicy

How often, and how far apart, the scheduler re-fires a trigger whose job has failed.

SchedulerConfigException

An exception that is thrown to indicate that there is a misconfiguration of the ISchedulerFactory- or one of the components it configures.

SchedulerConstants

Scheduler constants.

SchedulerContext

Holds context/environment data that can be made available to Jobs as they are executed.

SchedulerEnlistmentExtensions

Lets application code hand its own ADO.NET connection and transaction to the persistent job store, so that scheduling operations take part in a unit of work the application already owns.

SchedulerErrorContext

What went wrong, and — where the scheduler knew it — what it went wrong for.

SchedulerException

Base class for exceptions thrown by the Quartz IScheduler.

SchedulerFactoryExtensions

Convenience calls over the ISchedulerFactory members.

SchedulerJobExtensions

Scheduling a job by its type, the way the container-configured builder does.

SchedulerMetadata

Describes the settings and capabilities of a given IScheduler instance.

SchedulerNotFoundException

Thrown by GetRequiredScheduler(ISchedulerFactory, string, CancellationToken) when the container the factory belongs to has no scheduler of the requested name.

SchedulerQueryExtensions

Convenience calls built on the IScheduler query members.

SchedulerRegistration

One scheduler a container knows about, as reported by QuerySchedulers(CancellationToken).

SchedulerResource

The scheduler a per-scheduler authorization policy is evaluated against: the resource passed to IAuthorizationService.AuthorizeAsync(user, resource, policyName) by every HTTP API route and every dashboard page that names a scheduler.

SchedulerRestartException

Thrown by Restart(string, SchedulerRestartOptions, CancellationToken) when the outgoing scheduler's jobs were still running when the drain gave up on them.

SchedulingDataValidationException

Reports every schema violation found in an XML or JSON scheduling data file.

SchedulingOptions

What happens to a job or a trigger that is declared up front and whose key the scheduler already knows.

SimpleScheduleBuilder

SimpleScheduleBuilder is a IScheduleBuilder that defines strict/literal interval-based schedules for ITriggers.

StandaloneSchedulerFactory

A scheduler factory that owns the container its scheduler was built from.

StringMatcher<TKey>

An abstract base class for some types of matchers.

StringOperator

Operators available for comparing string values.

SystemTextJsonConfigurationExtensions

Choosing System.Text.Json as a persistent store's serializer, and registering the serializers for trigger and calendar types of the application's own.

ThreadPoolOptions

Strongly typed configuration for the scheduler's thread pool.

TimeSpanParseRuleAttribute

Attribute to use with public TimeSpan properties that can be set with Quartz configuration. Attribute can be used to advice parsing to use correct type of time span (milliseconds, seconds, minutes, hours) as it may depend on property.

TimeZonePluginConfigurationExtensions

Adds TimeZoneConverter to Quartz's time zone lookup, so that a time zone id resolves whichever operating system the process is running on.

TimeZones

Time zone lookup that answers the same way on every platform.

TriggerBuilder

TriggerBuilder is used to instantiate ITriggers.

TriggerBuilder<TJob>

TriggerBuilder is used to instantiate ITriggers for a trigger that fires a known job type.

TriggerConfiguratorExtensions

Gives a trigger its schedule, one method per schedule kind.

TriggerConstants

Common constants for triggers.

TriggerDetailsUpdate

Specifies which trigger properties to update without rescheduling. Only properties explicitly set via the builder methods will be changed.

TriggerGroup

A trigger group listing entry.

TriggerGroupQuery

Selects trigger groups, as TriggerGroups.

TriggerHeader

A trigger listing entry: everything a listing needs — including the state and execution group that previously required one extra round trip per trigger — without materializing the trigger or its JobDataMap.

TriggerHistoryLoggingOptions

Message templates for the classic trigger history logging plugin.

TriggerKey

Uniquely identifies a ITrigger.

TriggerQuery

Selects triggers, as TriggerHeaders. The filters combine with AND.

TypeLoaderOptions

Strongly typed configuration for the type loader, which turns a type name into a type — a stored JOB_CLASS_NAME, a quartz.* .type key, a job named in XML or JSON scheduling data.

Structs

AddCalendarOptions

How a calendar is added to the scheduler.

AddJobOptions

How a job is added to the scheduler when it is stored without a trigger.

AddTriggerOptions

How a trigger is stored on its own, without the job it fires.

ExecutionGroupInFlight

How much work one execution group already has in flight across the cluster, as a store reports it to CreateSlots(IReadOnlyCollection<ExecutionGroupInFlight>?).

ExecutionGroupLimit

One entry in an ExecutionLimits snapshot.

ExecutionGroupScope

Which bucket an execution limit applies to: the default (ungrouped) bucket, the catch-all for groups not explicitly configured, or one named group.

MonthDay

A day of the year with no year attached — "December 25th", every year.

OneOffJobOptions

What the one-call ScheduleJob<TJob, TInput> overloads may be told about the single firing they arrange, past the payload and the time.

PreferredNode

Which cluster node a trigger prefers to run on.

ScheduleJobOptions

How jobs and their triggers are stored when they are scheduled together.

ScheduledOneOffJob

What one call to the ScheduleJob<TJob, TInput> one-liners arranged: the trigger that was stored, and when it will first fire.

SchedulerAddOptions

What to add a scheduler with, beyond its name and the recipe that configures it.

SchedulerRestartOptions

How long a restart waits for the outgoing scheduler's work, and what it leaves the new one doing.

TimeRange

A span of the day, from one time of day to another.

Interfaces

ICalendar

An interface to be implemented by objects that define spaces of time during which an associated ITrigger may (not) fire. Calendars do not define actual fire times, but rather are used to limit a ITrigger from firing on its normal schedule if necessary. Most Calendars include all times by default and allow the user to specify times to exclude.

ICalendarIntervalTrigger

A ITrigger that is used to fire a IJobDetail based upon repeating calendar time intervals.

ICronTrigger

The public interface for inspecting settings specific to a CronTrigger, which is used to fire a IJob at given moments in time, defined with Unix 'cron-like' schedule definitions.

IDailyTimeIntervalTrigger

A ITrigger that is used to fire a IJobDetail based upon daily repeating time intervals.

IJob

The interface to be implemented by classes which represent a 'job' to be performed.

IJobConfigurator<TJob>

Declares one job inside AddQuartz(…): its key, its description, its durability and its job data.

IJobDetail

Conveys the detail properties of a given job instance. JobDetails are to be created/defined with JobBuilder.

IJobExecutionContext

A context bundle containing handles to various environment information, that is given to a JobDetail instance as it is executed, and to a ITrigger instance after the execution completes.

IJobExecutionContextAccessor

The job execution the calling code is part of, for code that cannot be handed an IJobExecutionContext: a scoped service, a logging enricher, a repository three calls below Execute.

IJobExecutionMiddleware

Wraps every job execution a scheduler performs, so a cross-cutting concern has somewhere to live that is neither the job nor a listener.

IJobListener

The interface to be implemented by classes that want to be informed when a IJobDetail executes. In general, applications that use a IScheduler will not have use for this mechanism.

IJob<TInput>

A job that declares the type of the input it is scheduled with, so the payload arrives as a parameter instead of being dug out of a JobDataMap by key.

IListenerManager

Client programs may be interested in the 'listener' interfaces that are available from Quartz. The IJobListener interface provides notifications of Job executions. The ITriggerListener interface provides notifications of ITrigger firings. The ISchedulerListener interface provides notifications of scheduler events and errors. Listeners can be associated with local schedulers through the IListenerManager interface.

IMatcher<T>

Matchers can be used in various IScheduler API methods to select the entities that should be operated upon.

IPersistentStoreBuilder

Configures a database-backed job store.

IQuartzBuilder

Configures a scheduler and the services it is built from.

IRecurrenceTrigger

A trigger that fires based on an iCalendar RFC 5545 recurrence rule (RRULE).

IScheduleBuilder

Schedule builders offer fluent interface and are responsible for creating schedules.

IScheduler

This is the main interface of a Quartz Scheduler.

ISchedulerFactory

Provides a mechanism for obtaining client-usable handles to IScheduler instances.

ISchedulerListener

The interface to be implemented by classes that want to be informed of major IScheduler events.

ISchedulerRegistry

Lists the schedulers a container knows about, whether or not any of them has been created.

ISchedulerRuntime

Adds and removes schedulers in a container that has already been built.

ISimpleTrigger

A ITrigger that is used to fire a IJob at a given moment in time, and optionally repeated at a specified interval.

ITrigger

The base interface with properties common to all ITriggers - use TriggerBuilder to instantiate an actual Trigger.

ITriggerConfigurator

The part of trigger configuration that does not depend on the job's type: choosing the trigger's schedule.

ITriggerConfigurator<TJob>

Configures a trigger for a job of a known type, so that job data can be bound by naming the job's own properties.

ITriggerListener

The interface to be implemented by classes that want to be informed when a ITrigger fires. In general, applications that use a IScheduler will not have use for this mechanism.

Enums

CalendarIntervalTriggerMisfireInstruction

What an ICalendarIntervalTrigger should do when it misses a firing.

ClusterNodeState

What the cluster makes of one node's check-in history.

CronFormat

The field layout and day-of-week numbering a cron expression string is read with.

CronTriggerMisfireInstruction

What an ICronTrigger should do when it misses a firing.

DailyTimeIntervalTriggerMisfireInstruction

What an IDailyTimeIntervalTrigger should do when it misses a firing.

ExecutionLimitScope

What an execution limit is counted against.

FireInstanceState

How far along a FireInstance is: reserved by a node, or running.

IntervalUnit

Supported interval units used by ICalendarIntervalTrigger.

RecurrenceTriggerMisfireInstruction

What an IRecurrenceTrigger should do when it misses a firing.

SchedulerInstruction

Instructs Scheduler what to do with a trigger and job.

SchedulerOrigin

Where a scheduler QuerySchedulers(CancellationToken) reports came from.

SchedulerStatus

Where a scheduler is in its lifecycle. This is Status, and it is the whole of a scheduler's lifecycle state: one value to read and one value to match on, rather than several booleans a reader would have to combine in the right order.

SchemaProvisioning

What a persistent job store does about its schema when it starts.

ShutdownJobInterruption

When a shutting-down scheduler signals cancellation to the jobs still executing.

SimpleTriggerMisfireInstruction

What an ISimpleTrigger should do when it misses a firing.

TimeSpanParseRule

Possible parse rules for TimeSpans.

TriggerState

All trigger states known to Scheduler.

Delegates

JobExecutionDelegate

The rest of the job execution pipeline, as a middleware sees it: the middleware registered after this one, ending in the job itself.