Skip to content
Draai je bedrijfDurable operations

Achtergrondtaken met voortgang

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.

1
step to accept a job for good
6
honest job states, no fake spinners
3
levels of who can see each job

Productvoorbeeld

Bekijk het in werking

Dit is hetzelfde visuele component als in de ingelogde applicatie, met voorspelbare voorbeelddata.

Scenario
Voorbeeldscherm
Thema van voorbeeldoppervlak
Voorbeeldmodus

Running

Follow current stage, progress, item counts, milestones, and the available cancel command.

Inerte voorbeelddata · geen netwerktoegang

Current state

archive notes

In progress

Archiving documents in replay-safe batches

Archiving documents in replay-safe batches684 of 1000
x

Results

Confirmed item outcomes reported by this process.
Successful
680
Failed
4
Skipped
0

Voorbeeld gereed

Het probleem dat dit oplost

Zonder een gedeelde basis bouwt elk team deze randgevallen opnieuw — en anders.

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.

The progress bar on a timer

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.

The slow job killed twice

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

Waarom dit belangrijk is

Accepted means recorded

The job and its record save in one step. Users see 'queued' instantly, even if the queue server is down.

Honest progress

Queued, running, waiting, done, failed, canceled. Real states reported by the worker, not a spinner running on a timer.

Nothing dies in silence

Retries are finite. Work that keeps failing lands in an operator view where one click safely requeues it.

Hoe het werkt

Het mechanisme van begin tot eind, zoals het in de repository is geïmplementeerd.

  1. 1

    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.

  2. 2

    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.

  3. 3

    Work with receipts

    Workers update the record at each real checkpoint. Big files go to storage; the queue only carries small references.

  4. 4

    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

Wat dit wel en niet belooft

Veiligheidsgrens

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.

Implementatiebewijs

De grens hierboven is geen claim maar code. Deze bestanden dragen het contract:

  • docs/PROCESS-SYSTEM.md
  • src/features/processes/lifecycle.ts
  • src/features/processes/realtime-shape.server.ts
Vragen

Veelgestelde vragen

Bouw verder op Achtergrondtaken met voortgang

De documentatie beschrijft dezelfde contracten die deze pagina demonstreert.