Cyclium.DynamicActor.Loader (Cyclium v0.5.2)

Copy Markdown View Source

Loads DB-defined agent definitions and starts them as DynamicActor processes under Cyclium.ActorSupervisor.

Usage

# Load all enabled definitions at application startup
Cyclium.DynamicActor.Loader.load_all()

# Load a single definition by actor_id
Cyclium.DynamicActor.Loader.load("my_custom_monitor")

# Stop a running dynamic actor
Cyclium.DynamicActor.Loader.stop("my_custom_monitor")

# Reload (stop + start) after definition update
Cyclium.DynamicActor.Loader.reload("my_custom_monitor")

Summary

Functions

Loads and starts a single agent definition by actor_id.

Loads all enabled agent definitions from DB and starts them. Returns {:ok, started_count}.

Returns the :global name of a dynamic actor: a tuple keyed by the actor id string, so looking one up never mints an atom per id.

Reloads a dynamic actor (stop + start from latest DB definition).

Reloads all enabled dynamic actors (stop + start from latest DB definitions).

Stops a running dynamic actor by actor_id.

Stops all running dynamic actors.

Functions

load(actor_id)

Loads and starts a single agent definition by actor_id.

load_all()

Loads all enabled agent definitions from DB and starts them. Returns {:ok, started_count}.

process_name(actor_id)

@spec process_name(atom() | binary()) :: {:cyclium_dynamic, binary()}

Returns the :global name of a dynamic actor: a tuple keyed by the actor id string, so looking one up never mints an atom per id.

reload(actor_id)

Reloads a dynamic actor (stop + start from latest DB definition).

reload_all()

Reloads all enabled dynamic actors (stop + start from latest DB definitions).

stop(actor_id)

Stops a running dynamic actor by actor_id.

stop_all()

Stops all running dynamic actors.