Table of Contents

Constructor JobExecutionResult

Namespace
MailFathom.Application.Jobs.Execution
Assembly
MailFathom.Application.dll

JobExecutionResult(JobId, JobType, int, JobExecutionOutcome, TimeSpan)

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

public JobExecutionResult(JobId JobId, JobType JobType, int AttemptCount, JobExecutionOutcome Outcome, TimeSpan Duration)

Parameters

JobId JobId

The job this attempt held.

JobType JobType

The kind of work, which is the name every report of this result uses.

AttemptCount int

Which attempt this was, counting from one.

Outcome JobExecutionOutcome

How the attempt ended.

Duration TimeSpan

How long the attempt took, from dispatch to the recorded outcome.

Remarks

It carries the job's own identity and the type's name and nothing from the work: a payload names a message occurrence and this names the payload's job, so neither a subject, an address, nor any other mail content can reach a log line, a counter, or a span through it. That holds of a failed attempt too, which is why the exception a handler raised stops at the classifier and only the record it produced travels on.

The state the record needed is already written by the time a result exists. This is what the caller reports and paces itself by, not a request for the caller to finish the attempt.