ElGraph.Checkpointer.Dets (ElGraph v0.3.0)

Copy Markdown View Source

DETS(디스크 ETS) 기반 내구 체크포인터 — 외부 인프라 0의 단일 노드 영속 옵션.

ETS 어댑터가 VM 종료 시 소실되는 것과 달리, DETS는 단일 파일에 디스크 영속하므로 VM/노드 재시작을 넘어 thread를 재개한다. Postgres/Valkey 같은 별도 서버 없이 "내구 실행"을 얻는다 (대신 단일 노드·파일 2GB 한계·분산 없음 — 멀티노드는 ElGraph.Checkpointer.Mnesia 참조).

children = [{ElGraph.Checkpointer.Dets, path: "/var/lib/myapp/checkpoints.dets"}]
cp = {ElGraph.Checkpointer.Dets, ElGraph.Checkpointer.Dets.config(pid)}

ETS 어댑터처럼 인스턴스별(파일별) — 소유 GenServer가 파일 수명을 관리하고, 읽기/쓰기는 DETS 테이블에 직접 수행한다. keep: {:last, n}으로 오래된 체크포인트를 정리한다.

Summary

Functions

Returns a specification to start this module under a supervisor.

이 인스턴스의 config(테이블 핸들 + 보존정책)를 반환한다.

Functions

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

config(server)

@spec config(GenServer.server()) :: map()

이 인스턴스의 config(테이블 핸들 + 보존정책)를 반환한다.

start_link(opts \\ [])