The export that never existed
A queue call fails silently during a blip. The customer asks where their export went, and there's no record it was ever accepted. You can't fix what you can't prove happened.
Lange taken tonen echte voortgang, overleven een crash en zijn opnieuw te proberen.
Lange taken tonen echte voortgang, overleven een crash en zijn opnieuw te proberen.
Productvoorbeeld
Dit is hetzelfde visuele component als in de ingelogde applicatie, met voorspelbare voorbeelddata.
Follow current stage, progress, item counts, milestones, and the available cancel command.
Inerte voorbeelddata · geen netwerktoegang
Voorbeeld gereed
Zonder een gedeelde basis bouwt elk team deze randgevallen opnieuw — en anders.
A queue call fails silently during a blip. The customer asks where their export went, and there's no record it was ever accepted. You can't fix what you can't prove happened.
With no real job record, the UI guesses. Spinners that never resolve. Progress bars driven by setTimeout. A status page that contradicts what the worker actually did.
A naive health check calls slow work dead and re-runs it. Now there are duplicates, and untangling them eats your afternoon. Telling 'late' apart from 'lost' is exactly the code nobody wants to write twice.
Kernpunten
The job and its record save in one step. Users see 'queued' instantly, even if the queue server is down.
Queued, running, waiting, done, failed, canceled. Real states reported by the worker, not a spinner running on a timer.
Retries are finite. Work that keeps failing lands in an operator view where one click safely requeues it.
Het mechanisme van begin tot eind, zoals het in de repository is geïmplementeerd.
Accept in one step
The server checks the request, then saves the job, its status record, its follow-up event, and its receipt together in one transaction. The user sees 'queued' right away.
Hand off safely
A background publisher moves the job to the queue after the save. Attempts are limited, and jobs that keep failing land in a visible dead state instead of retrying forever.
Work with receipts
Workers update the record at each real checkpoint. Big files go to storage; the queue only carries small references.
Stream the truth
Status streams live to the user, scoped to their company. Late work reads as 'waiting', not 'failed', and the done notification can never send twice.
Technische garanties
Achter de schermen houden autorisatie, tenantgrenzen en foutafhandeling één duidelijke eigenaar. Zo blijft de snelle ervaring voor gebruikers gekoppeld aan veilig herstel als het misgaat.
De grens hierboven is geen claim maar code. Deze bestanden dragen het contract:
docs/PROCESS-SYSTEM.mdsrc/features/processes/lifecycle.tssrc/features/processes/realtime-shape.server.tsDeze functies delen contracten en grenzen met deze pagina.
De documentatie beschrijft dezelfde contracten die deze pagina demonstreert.