Table of Contents

Namespace MailFathom.Application.Jobs.Execution

Classes

JobAttemptFailure

What one failed attempt was classified as, what was written against the job, and what became of it.

JobCapacitySettings

Bounds how much of an instance the queue may take: how much runs at once, and how much may be waiting.

JobConcurrencyGate

Hands out the right to run one job, under a ceiling for the process and a ceiling for the job's own type.

JobExecutionResult

What one attempt at one job did, in the terms the queue itself is described in.

JobExecutionSettings

Bounds one pass of the worker: how much it takes, how long it holds it, how long one job may run, and how often a transient failure is retried.

JobExecutor

Runs one leased job through its handler, holds the lease while it works, and records how it ended.

JobHandlerRegistry

Answers which job types this process can run, and which handler runs each of them.

JobQueueDepthReading

How much work of one type was waiting when the queue was last measured.

JobQueuePass

Takes one batch of due jobs this process can run, and runs them under the capacity the instance allows.

JobRetryBackoff

Decides how long a job waits before it becomes claimable again after a transient failure.

Interfaces

IJobAttemptRunner

Runs one leased job in isolation from every other job running beside it.

IJobFailureClassifier

Decides what a job's row records about the failure one attempt raised.

IJobHandler

Does the work one job type describes, and knows nothing about how that work was leased.

IJobQueueDepthReader

Measures how much work of each type is waiting to be claimed.

Enums

JobExecutionOutcome

States how one attempt at one job ended.

JobFailureDisposition

States what the queue did with a job whose attempt failed.