Table of Contents

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

TimeSpan

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

int

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; }

Property Value

string