class Earl::Supervisor

Overview

Supervises other agents.

Included Modules

Direct Known Subclasses

Defined in:

supervisor.cr

Constructors

Instance Method Summary

Instance methods inherited from module Earl::Logger

log log

Class methods inherited from module Earl::Logger

backends : Array(Backend) backends, debug(agent : Agent, message : String) : Nil
debug(agent : Agent, &block : -> String) : Nil
debug
, debug? : Bool debug?, error(agent : Agent, message : String) : Nil
error(agent : Agent, &block : -> String) : Nil
error(agent : Agent, ex : Exception)
error
, error? : Bool error?, info(agent : Agent, message : String) : Nil
info(agent : Agent, &block : -> String) : Nil
info
, info? : Bool info?, level : Severity level, level=(severity : Severity) : Severity level=, silent? : Bool silent?, warn(agent : Agent, message : String) : Nil
warn(agent : Agent, &block : -> String) : Nil
warn
, warn? : Bool warn?

Instance methods inherited from module Earl::Agent

call call, crashed? : Bool crashed?, recycle : Nil recycle, recycling? : Bool recycling?, reset : Nil reset, running? : Bool running?, spawn(*, link : Agent | Nil = nil, _yield = true) : Nil spawn, start(*, link : Agent | Nil = nil) : Nil start, starting? : Bool starting?, stop : Nil stop, stopped? : Bool stopped?, stopping? : Bool stopping?, terminate : Nil terminate, trap(agent : Agent, exception : Exception | Nil) : Nil trap

Constructor Detail

def self.new #

[View source]

Instance Method Detail

def call #

Spawns all agents to supervise in their dedicated Fiber. Blocks until all agents have stopped.


[View source]
def monitor(agent : Agent) : Nil #

Adds an agent to supervise.


[View source]
def reset : Nil #

Recycles all supervised agents.


[View source]
def terminate : Nil #

Asks all supervised agents to stop.


[View source]
def trap(agent : Agent, exception : Exception | Nil) : Nil #

Recycles and restarts crashed agents. Take note that an agent has stopped.


[View source]