Enum StoredEmailEmbeddingBackfillOutcome
- Namespace
- MailFathom.Application.Emails.Embeddings.Backfill
- Assembly
- MailFathom.Application.dll
Why one run of the embedding backfill ended.
public enum StoredEmailEmbeddingBackfillOutcome
Fields
BatchBudgetSpent = 0The run spent its batch budget with messages still awaiting embedding, and the position it committed is where the next run resumes.
GeneratorDisagreesWithProfile = 3The configured model is not the one the active profile records, so the run wrote nothing rather than mixing two geometries into one space.
NoActiveProfile = 2The instance has activated no profile, so there is no vector space to embed into and nothing was spent.
ProviderFailed = 4A provider call ended without vectors, which ends the run rather than the next message's turn.
SpendCeilingReached = 5The period's spend ceiling is reached, so the run ended and the next one waits for the period to roll over.
The one ending that names its own resumption. Every other reason to stop is either settled by an operator or retried on an interval chosen by how likely work is to be there; this one has an exact instant after which sweeping is worth doing again, and SpendPeriodEndsAt carries it so the worker waits for that rather than polling a ceiling it already knows binds.
SweepCompleted = 1The walk reached the end of the stored mail, so the sweep ended and the next one starts at the beginning.
Remarks
The distinction a caller acts on is whether the run stopped because it ran out of budget or because there was nothing left to do: the first is paced by a short interval and the second by a long one, and collapsing the two would either idle an instance that has a mailbox to backfill or sweep an instance that has nothing to find.