Individual.Wrapper (Individual v0.3.3) View Source

This module wraps underlying workers, that can not be registered in :global scope.

The problem

Worker can not register it's name by default, so we need wrapper, that would be registered inside global module for that purposes.

Solution

So, Individual will monitor Individual.Wrapper, which will be unique across cluster. Wrapper will monitor underlying module. If Individual.Wrapper will not be able to start because of name conflict, underlying module will even not try to start.

When one of the cluster nodes will fall, Individual modules on all other nodes will try to start there own Individual.Wrapper's. The first one, that will be started - will continue to work, and will start underlying module. All other will fail because of name conflicts.

Link to this section Summary

Functions

This function will be called by Individual module. No need to call it manually

Link to this section Functions

Link to this function

handle_call(atom, from, state)

View Source
Link to this function

start_link(son_child_spec)

View Source

This function will be called by Individual module. No need to call it manually