Architecture

Worker And Jobs

Durable local job execution, Graphile Worker tasks, and job event SSE.

isplay start runs two local processes in one command: the Hono API and a Graphile Worker runner. Routes can still run synchronously, but wait=false now creates a durable job record and enqueues worker execution.

Task Names

replay.run
experiment.run

The worker executes replay and experiment jobs against the same Postgres database and artifact directory as the API.

Job Lifecycle

The API creates a durable job projection and appends job.queued.
The API enqueues the Graphile Worker job and appends job.enqueued with the Graphile job id.
The worker appends job.started, runs replay or experiment execution, then appends job.finished or job.failed.

SSE

GET /v1/jobs/{id}/events

The SSE response is generated from stored job events, so it can be read after the job has completed.

npx isplay jobs events <jobId>

Operational Meaning

QuestionCurrent answer
Does replay wait=false queue background work?Yes. It returns a queued replay with metadata.jobId.
Does experiment wait=false queue background work?Yes. It returns { jobId, experimentId, status: "queued" }.
Can I subscribe to replay progress?You can read durable job lifecycle events. Per-step replay streaming is not implemented.
Are jobs recoverable across API restarts?Yes, through Graphile Worker and durable job projections, assuming the same Postgres database is used.

See Limits for the consolidated behavior reference.

On this page