Class ScheduledMailRuleRunHandler
- Namespace
- MailFathom.Application.Rules.Evaluation
- Assembly
- MailFathom.Application.dll
Turns a schedule's occasion into the whole-mailbox run an account's synchronization runs then carry.
public sealed class ScheduledMailRuleRunHandler : IJobHandler
- Inheritance
-
ScheduledMailRuleRunHandler
- Implements
- Inherited Members
Remarks
The job is deliberately short. What it does is record that a scheduled walk of the account is wanted, exactly as an operator's request does; the walk itself happens where every other rule pass happens, which is the account's own synchronization run with its per-account isolation, its backoff, and its slot count. A handler that walked the mailbox here would be a second place rules run, and it would hold a worker for as long as somebody's mailbox takes.
Running it twice with one payload is the same as running it once, which is what the queue asks of every handler: a second occasion finding a run outstanding is answered with that run and writes nothing.
Constructors
- ScheduledMailRuleRunHandler(MailRuleEvaluationRunRequests)
Initializes the handler from the intake that records a wanted run.
Properties
- JobType
Gets the job type this handler runs, which is also the contract its payload arrives under.
Methods
- RunAsync(IJobPayload, CancellationToken)
Runs the work the payload describes.