← 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 operationsExample

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.