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
AddQuartzHttpClientneeds 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.
- JobTimeoutAttribute
How long a firing of this job may run before the scheduler signals cancellation to it. Read by the timeout middleware
AddJobTimeoutregisters, 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.Pluginsto 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:Quartzand then fromAspire: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.CreateApplicationBuilderorWebApplication.CreateBuilderadds 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, aquartz.*.typekey, 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.