← Romulus overview
Background jobs
Wait for the result without holding a worker.
Keep the job ID and continuation point while an external process runs. Resume on its completion signal.
JOB-B772 · Monthly reconciliation
- Job acceptedSaved
- Correlation ID recordedSaved
- Completion signalReceived
- Report retrievedDone
- Event
- report.completed
- Correlation
- job_b772
Design the recovery path.
- Capture the job handle
- Persist the external job ID and the event that can advance the run. For an ambiguous launch, look up the original submission where possible before starting another job.
- Keep early events
- Record validated incoming events before matching them. A fast job can complete before the workflow has registered its wait, and a stored event can still be matched later.
- Advance once
- Resolve the wait using a conditional update and deduplicate deliveries using the sender’s event ID. Define how a late completion should be handled after a deadline.