Table of Contents

Class ClusterNode

Namespace
Quartz
Assembly
Quartz.dll

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

public sealed record ClusterNode : IEquatable<ClusterNode>
Inheritance
ClusterNode
Implements
Inherited Members

Remarks

A node is one running scheduler instance, named by the instance id it was initialized with — the same value SchedulerInstanceId reports on that node and SchedulerInstanceId records against the firings it owns. Joining the two listings on that id is how an operator sees which node is running what.

The store-side sibling is SchedulerStateRecord, which is one SCHEDULER_STATE row in full, for the ADO.NET store's own check-in and recovery passes. This one is the store-neutral projection every job store can produce, and it carries the verdict — the State — that a raw row does not.

Constructors

ClusterNode(string, DateTimeOffset?, TimeSpan?, ClusterNodeState, bool)

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

public ClusterNode(string InstanceId, DateTimeOffset? LastCheckInUtc, TimeSpan? CheckInInterval, ClusterNodeState State, bool IsCurrentNode)

Parameters

InstanceId string

The node's scheduler instance id.

LastCheckInUtc DateTimeOffset?

When the node last recorded that it was alive, or null when the store keeps no check-in history — an in-memory store, or an ADO.NET store that is not clustered, neither of which writes SCHEDULER_STATE.

CheckInInterval TimeSpan?

How often the node undertook to check in, or null for the same reason LastCheckInUtc is. This is the node's own configured interval as it recorded it, not the reader's.

State ClusterNodeState

What the reading node makes of the check-in history above, decided by the same predicate cluster recovery applies.

IsCurrentNode bool

Whether this row is the node that answered the query. Exactly one row carries true, and it is always present — even before this node's first check-in has written a row for it.

Remarks

A node is one running scheduler instance, named by the instance id it was initialized with — the same value SchedulerInstanceId reports on that node and SchedulerInstanceId records against the firings it owns. Joining the two listings on that id is how an operator sees which node is running what.

The store-side sibling is SchedulerStateRecord, which is one SCHEDULER_STATE row in full, for the ADO.NET store's own check-in and recovery passes. This one is the store-neutral projection every job store can produce, and it carries the verdict — the State — that a raw row does not.

Properties

CheckInInterval

How often the node undertook to check in, or null for the same reason LastCheckInUtc is. This is the node's own configured interval as it recorded it, not the reader's.

public TimeSpan? CheckInInterval { get; init; }

Property Value

TimeSpan?

InstanceId

The node's scheduler instance id.

public string InstanceId { get; init; }

Property Value

string

IsCurrentNode

Whether this row is the node that answered the query. Exactly one row carries true, and it is always present — even before this node's first check-in has written a row for it.

public bool IsCurrentNode { get; init; }

Property Value

bool

LastCheckInUtc

When the node last recorded that it was alive, or null when the store keeps no check-in history — an in-memory store, or an ADO.NET store that is not clustered, neither of which writes SCHEDULER_STATE.

public DateTimeOffset? LastCheckInUtc { get; init; }

Property Value

DateTimeOffset?

State

What the reading node makes of the check-in history above, decided by the same predicate cluster recovery applies.

public ClusterNodeState State { get; init; }

Property Value

ClusterNodeState