Cyclium.WorkClaims.FakeClaims (Cyclium v0.2.0)

Copy Markdown View Source

In-memory work claims implementation for tests.

Uses an Agent to track claims. All acquires succeed by default. Use set_busy/2 to simulate contention.

Usage

# In test setup:
{:ok, _} = Cyclium.WorkClaims.FakeClaims.start_link()
Application.put_env(:cyclium, :work_claims, Cyclium.WorkClaims.FakeClaims)

# Simulate contention:
Cyclium.WorkClaims.FakeClaims.set_busy("some:dedupe:key")

Summary

Functions

Returns a specification to start this module under a supervisor.

Clear busy status for a dedupe_key.

Get all current claims.

Mark a dedupe_key as busy — acquire will return {:error, :busy}.

Functions

child_spec(arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

clear_busy(dedupe_key, name \\ __MODULE__)

Clear busy status for a dedupe_key.

get_claims(name \\ __MODULE__)

Get all current claims.

set_busy(dedupe_key, name \\ __MODULE__)

Mark a dedupe_key as busy — acquire will return {:error, :busy}.

start_link(opts \\ [])