Skip to content

Durable jobs

Dimple puts work that can continue after a request into a durable queue. Workers lease jobs, record their progress, and retry work after an interruption.

A worker holds a job under a lease. After a crash, another worker can claim the same job, and the handler must be safe to run again.

Memory writes can queue topic maintenance. Model backfills can embed and route existing memories. Dream reviews relationships and clusters concepts. Queries queue audit writes, so storing an audit record does not delay results.

If a worker stops, its lease expires and another worker can claim the job. A handler can retry work up to its configured attempt limit. Store changes roll back if their transaction fails.

Jobs do not replay the original request. A topic split, for example, continues from the stored tree state. It does not repeat the memory write that queued it.

Deferred indexing stores units before their embeddings and routing are queued. A short-lived process can exit before the queue row is written, so deferred mode expects a long-lived worker: the MCP server, the daemon, or a later synchronous index.

By default, Dimple stores application data in dimple.db and queue state in jobs.db. To use another supported setup, configure separate URLs. See the configuration reference for storage settings.