Class StoredMailRederivationRun
- Namespace
- MailFathom.Application.Mail.Maintenance
- Assembly
- MailFathom.Application.dll
A re-derivation of one scope's stored mail somebody asked for, and how far the jobs carrying it have come.
public sealed record StoredMailRederivationRun : IEquatable<StoredMailRederivationRun>
- Inheritance
-
StoredMailRederivationRun
- Implements
- Inherited Members
Remarks
Durable because it has to survive the process. The walk spans as many job attempts as the scope needs, so a restart in the middle of one must resume where the passes committed rather than at the beginning of a mailbox — and a request that arrived seconds before a shutdown must still be a request afterwards.
One run per scope, which is what makes a second request an answer rather than a second walk over one mailbox. There is no queue behind it: asking twice for the same thing is asking once, and the reply says the run is already under way. Two scopes are two runs, because an operator refreshing one folder must not be told about another's walk.
The counts accumulate across the whole run rather than describing the last pass, which is the figure an operator asking "how far has it got" wants; the position the next pass resumes from is not here, because that is the walk's own cursor and it exists whether a run asked for it or not.
Every field is either MailFathom's own identity for something, a count, or an instant. Nothing derived from a message belongs in a record an operator reads to find out what their instance is doing.
Properties
- IsOutstanding
Gets whether the run is still waiting to be carried further.
- MissingContentEmailCount
Gets how many stored emails the run stepped over because their raw MIME is no longer stored.
- RederivedEmailCount
Gets how many stored emails the run re-read and wrote metadata for.
- RequestedAt
Gets when the run was asked for.
- RunId
Gets the identity of this run, which the jobs carrying it are keyed by.
- Scope
Gets the account, and the one folder of it, whose stored mail the run re-reads.
- SegmentCount
Gets how many segments of the run have been enqueued, which is also the key the next one is enqueued under.
- UnreadableEmailCount
Gets how many stored emails the run stepped over because no reader could parse their MIME.