Interface IDashboardHistoryStore
Where the dashboard's execution history and misfire feed live.
public interface IDashboardHistoryStore
Remarks
The seam an application replaces to keep history somewhere that survives a restart — the shipped implementation is per-process and in-memory, so every node of a cluster holds its own. Both feeds carry the node that produced each row, which is what makes a shared implementation 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