All capabilities → Jobs
Jobs

Start, follow and cancel large runs

Every background job is visible, resumable and controllable — including after a restart.

curl "$API/jobs/lanes"
{
  "lanes": [
    { "lane": "statements.esef", "running": 1, "backlog": 412 },
    { "lane": "earnings.dates.repair", "running": 0, "backlog": 0 }
  ]
}

What you can do with it

Why we built it this way

A job whose process died used to sit on “running” forever — blocking every further run of the same lane.

Every job now carries the identity of the process that started it. Whoever does not hold that identity cannot still be running and is recorded accordingly. That is the whole idea, and it cleared twelve stale records on the first start.

Runs are derived from the data itself, not from an offset. A cancelled run therefore resumes where it stood, with no bookkeeping.

Improvements

Endpoints

GET/jobs/lanesBacklog per lane
GET/jobs/{job_id}Status of a job
POST/jobs/{job_id}/cancelCancel a job
POST/sync/allEverything that is due

Give feedback or ask a question

Something missing, something off, or an answer you don't understand? Write it here — it reaches us directly.

We store only what you type here. No IP address in clear text, no trackers.