Workflows: running multi-step jobs as a managed service
What a durable workflow is, why long multi-step jobs need retries and saved state, and how this differs from a background worker or from a scheduled task.
What this covers
A workflow is a job made of several steps that must survive things going wrong in the middle. Think of an order that has to charge a card, reserve stock, send an email and update a ledger. If the email provider is down on step three, you do not want to charge the card again when you retry. A workflow engine solves this by recording the result of each step, so a retry resumes from where it stopped instead of starting over, and so a step that has already run is never run twice.
Workflows are not available on Voroa today. For work that does not need saved state between steps, a background worker or a scheduled task may be enough.