Interface IDashboardHistoryStore
Where the dashboard's execution history and misfire feed live.
public interface IDashboardHistoryStore
Remarks
The dashboard's 4.0 seam, and it still works: register one of your own before
AddQuartzDashboard() and the recorder's rows are written into it, the dashboard's pages read
out of it, and the HTTP API's history routes answer out of it. What it is now is one side of a pair —
IExecutionHistoryStore is where Quartz itself keeps history, an adapter
joins the two, and a new implementation is better written against that one, which no surface but the
dashboard's depends on.
Both feeds carry the node that produced each row, which is what makes an implementation shared by a whole cluster readable.
Two feeds, one verb each way: an execution and a misfire are both written with Add* and both
read with Query*, and the paged reads are named as IQuartzApiClient's are.
Methods
AddExecution(DashboardHistoryEntry, CancellationToken)
Records one execution, which the history page then reads back.
ValueTask AddExecution(DashboardHistoryEntry entry, CancellationToken cancellationToken = default)
Parameters
entryDashboardHistoryEntrycancellationTokenCancellationToken
Returns
AddMisfire(DashboardMisfireEntry, CancellationToken)
Records one misfire, which the misfires page and the overview's tile then read back.
ValueTask AddMisfire(DashboardMisfireEntry entry, CancellationToken cancellationToken = default)
Parameters
entryDashboardMisfireEntrycancellationTokenCancellationToken
Returns
CountMisfires(string, DateTimeOffset, CancellationToken)
How many misfires the scheduler has recorded since since.
ValueTask<int> CountMisfires(string schedulerName, DateTimeOffset since, CancellationToken cancellationToken = default)
Parameters
schedulerNamestringsinceDateTimeOffsetcancellationTokenCancellationToken
Returns
Remarks
A count rather than a page, because a summary asks "how bad is it right now" and a store that
keeps history in a database can answer that with one COUNT(*) instead of loading rows it
would throw away.
QueryExecutions(DashboardHistoryQuery, CancellationToken)
Returns one page of the recorded executions, newest first.
ValueTask<PagedResult<DashboardHistoryEntry>> QueryExecutions(DashboardHistoryQuery query, CancellationToken cancellationToken = default)
Parameters
queryDashboardHistoryQuerycancellationTokenCancellationToken
Returns
QueryMisfires(DashboardMisfireQuery, CancellationToken)
Returns one page of the recorded misfires, newest first.
ValueTask<PagedResult<DashboardMisfireEntry>> QueryMisfires(DashboardMisfireQuery query, CancellationToken cancellationToken = default)
Parameters
queryDashboardMisfireQuerycancellationTokenCancellationToken