Enum SchedulerOrigin
- Namespace
- Quartz
- Assembly
- Quartz.dll
Where a scheduler QuerySchedulers(CancellationToken) reports came from.
public enum SchedulerOrigin
Fields
Agent = 4Reached through an agent that dialed out to this process from the one running the scheduler. Nothing in this process runs it, and Target is the name the agent registered under.
Declared in 4.5 beside Cluster so that the wire shape of the listing is settled once; the agent that reports it ships separately. Like Remote, every member is a request to another process; unlike it, the connection was opened from the other side, so LastSeenUtc says when that process last spoke.
Cluster = 5Several targets fronting the nodes of one cluster, reported as one scheduler. The target is the member targets joined with
+—a+b+c— and Members lists them.Detected rather than configured: two or more targets whose schedulers share a name, a clustered persistent store, and at least one node between them are one cluster. Scheduling data goes to one member, whose store every node shares; what belongs to one node — start, stand-by, shutdown — is not offered on the cluster and is reached through the member's own key instead.
Container = 0Registered with the container by
AddQuartz()orAddQuartz(name, …). The container holds its object graph, and the hosted service creates and starts it.Remote = 2Reached through a proxy — an
HttpSchedulerregistered withAddQuartzHttpClient. Nothing in this process runs it and IsProxy is true.What separates this from Runtime is where the scheduler is, not who registered it: every member of it is a network request, so a reader — a dashboard page, an operator's listing — can tell that pausing a trigger here lands in somebody else's process, that its history is kept there, and that this process has no live event stream from it.
Runtime = 1Bound into the container's ISchedulerRepository rather than registered as a scheduler of this container: a scheduler built by
QuartzSchedulerBuilderand made visible by hand. Nothing in the container owns its lifetime.Window = 3A window onto a scheduler that lives in somebody else's process and is reached through the database the two share: a never-started scheduler over that store, discovered by its
SCHED_NAMErather than registered by name.Nothing in this process runs it and nothing ever will — its thread pool creates no threads and it is never started — so its own SchedulerStatus says only that it was built. What a reader is told instead is derived from the cluster's check-ins, which is the only liveness a shared store carries.
The store is the contract, so everything the schedule is — jobs, triggers, calendars, pausing, rescheduling, triggering now — works, and whichever node picks the work up honours it. Everything that is a property of one process — starting, standing down, shutting down, interrupting a running job, an execution limit held in memory — cannot be done from here at all. Target says which attached store the window is onto.