cronoq-store-sqlite
A SQLite store for cronoq: durable scheduler state in one local file, with no database server.
- Write-ahead state: every engine state transition is committed before submitters are acknowledged, in one transaction per engine step. The WAL journal is synced on every commit by default.
- Leader and standbys: processes on the same host can share the file. One leads through a renewed lease; the others take over when the lease runs out, or at once when the leader shuts down cleanly.
- Fencing: every commit checks the fencing epoch inside its write transaction, so a paused old leader cannot write after a standby replaced it.
- Housekeeping:
prune(older_than)removes old finished tasks;get_tasklooks tasks up by id or key. - Files: created readable and writable by the owner only (on Unix). Keep the file on a
local filesystem; for several hosts, use
cronoq-store-postgres.
use Bytes;
use ;
use SqliteStore;
# async
cronoq-server uses this store when configured with [store] kind = "sqlite".
Licensed under MIT or Apache-2.0, at your option.