Beethoven.RoleMgmt.Failover (Beethoven v0.3.9)
Failover monitor for roles.
Listens for updates from Beethoven.CoreServer
and will reassign work on the RoleMgmt.Assign.Tracker
.
Will reassign using Beethoven.Allocator
.
The update to mnesia will be monitored by Assign
who will handle the assignment to self.
Summary
Functions
CoreServer
Tell the local CoreServer that we want to be alerted to changes to cluster node state. Update will be sent in the form of a cast.
Removes a given node from a Assign.Tracker record and reassigns the role.
Returns a specification to start this module under a supervisor.
Supervisor Entry point.
Functions
@spec alert_me() :: :ok
CoreServer
Tell the local CoreServer that we want to be alerted to changes to cluster node state. Update will be sent in the form of a cast.
Example
{:node_update, {nodeName, status}}
@spec check_and_reassign(Beethoven.RoleMgmt.Assign.record(), node()) :: Beethoven.RoleMgmt.Assign.record()
Removes a given node from a Assign.Tracker record and reassigns the role.
Returns a specification to start this module under a supervisor.
See Supervisor
.
@spec start_link(any()) :: GenServer.on_start()
Supervisor Entry point.