ArchitectureApril 10, 2025· 6 min
Designing pause and resume into a multi-tenant pipeline
Two scopes
The QC pipeline processes images for multiple car dealerships simultaneously. When a dealership asks to pause processing — maybe they uploaded wrong images, maybe they need to update specs — we need to halt work at the right scope.
There are two levels: tenant-level (pause everything for a dealership) and SKU-level (pause a single car listing). The challenge is doing this without losing work that's already in flight.
Recomputing SLA timers
The trickiest part was SLA timers. Each image has a deadline for QC completion. When you pause a SKU, the clock should stop. When you resume, it should continue from where it left off — not restart.
We store the elapsed SLA time at pause, then recompute the deadline on resume by adding the remaining time to the current timestamp.