Kathikon.Storage (Kathikon v0.1.0)

Copy Markdown View Source

Storage facade for job persistence and Mnesia lifecycle.

Delegates to Kathikon.Backend.Storage (default: Kathikon.Backend.Storage.Mnesia). Application code should prefer Kathikon.insert/3 over calling Storage directly.

Embedding

{:ok, _} = Application.ensure_all_started(:kathikon)
:ok = Kathikon.Storage.setup()

Tests

:ok = Kathikon.Storage.clear_jobs!()

Runtime processes (Kathikon.Dispatcher, Kathikon.Scheduler, Kathikon.Pruner) accept an optional :storage module at start_link/1. Facade tests can scope a mock backend to the test process with set_test_backend!/1 — see docs/guides/storage-and-embedding.md.

See docs/guides/storage-and-embedding.md.

Summary

Functions

Ensures the storage backend schema and tables exist on the current node.

Functions

setup()

@spec setup() :: :ok

Ensures the storage backend schema and tables exist on the current node.

Call this when embedding Kathikon outside Kathikon.Application, or when tests need an isolated storage bootstrap before the application starts.