Class SchedulerRestartException
- Namespace
- Quartz
- Assembly
- Quartz.dll
Thrown by Restart(string, SchedulerRestartOptions, CancellationToken) when the outgoing scheduler's jobs were still running when the drain gave up on them.
public sealed class SchedulerRestartException : SchedulerException, ISerializable
- Inheritance
-
SchedulerRestartException
- Implements
- Inherited Members
Remarks
A type of its own rather than a bare SchedulerException, because this is the one failure a caller can act on without changing anything: the work will finish, and asking again afterwards succeeds. Nothing was lost — the old scheduler is shut down, the new one was never built, and the scheduler's name is listed with no status until a restart completes.
A SchedulerConfigException is the other outcome and means the opposite: the recipe cannot produce a second generation, so asking again will fail the same way.
Properties
DrainTimeout
The deadline that expired, as DrainTimeout gave it or defaulted it.
public TimeSpan DrainTimeout { get; }
Property Value
JobsStillExecuting
How many of its jobs the outgoing scheduler was still running when the wait was given up on.
public int JobsStillExecuting { get; }
Property Value
Remarks
A floor rather than a total. The drain waits for each job's job store update as well as the job, and a job leaves this count before its update is issued — so zero here means the jobs have finished and a write is still in flight, which is just as much a reason not to start a second scheduler over the same store.
SchedulerName
The scheduler that was being restarted, so a caller can report it without parsing the message.
public string SchedulerName { get; }