Queue workers and durable jobs have distinct execution boundaries
Context
Background tasks differ in duration and in how much progress must survive interruption. Query generation uses asynchronous invocation and reconciliation; revalidation uses a scheduled bounded pass.
Decision
File exports, report renders and schedule runs use queued work; search rebuilds and snapshot attempts use durable jobs, while workspace export generation has a registered job design without a deployed runner.
Alternatives Considered
Wrap every task in a durable job: Simple file requests would add a watched workflow without needing multiple stages.
Finish background work inside the HTTP request: Large exports and renders exceed the request function’s time limit.
Consequences
Queue consumers consult business status on redelivery; this does not establish exclusive execution of a running row. Durable job reconciliation handles submissions that were created but never started.