Expand description
The job history: a SQLite database of jobs, their runners, steps, samples and logs, the events clients resume
from, cache sizes and the paused repositories. Owns the schema and its migrations, the one writer and the event
broadcast. Writes are messages to a writer thread, so the engine never waits on the disk; reads and pruning run
on Tokio’s blocking pool, pruning on its own connection, a batch at a time. It decides nothing about scheduling
and stores no secret: no token, no JIT config, no runner _diag log.
Structs§
- Announced
- The profiles and repositories as the stored events last announced them: what clients resuming after those events have.
- LogPosition
- Where a job’s log capture continues: the runner’s page file and the byte offset in it.
- Measured
- The last measurement of the cache volumes.
- Mirror
Position - How far the mirror’s log was counted: the time of the last response counted, in nanoseconds since the epoch as Docker logs it, and how many responses logged at exactly that time were counted, so the next read counts the ones it was too early to see.
- OpenJob
- A job the history has not closed, as the engine needs it after a restart.
- Runner
Record - A runner container as the history records it.
- Sample
Record - One sample of one runner’s container.
- Store
- The job history. Cloning shares it.
Enums§
- Store
Error - Why the database cannot be used.