swarm v3.0.5 Swarm.Tracker
This module implements the distributed tracker for process registrations and groups.
It is implemented as a finite state machine, via :gen_statem
.
Each node Swarm runs on will have a single instance of this process, and the trackers will replicate data between each other, and/or forward requests to remote trackers as necessary.
Summary
Functions
Adds some metadata to the given process (pid). This is primarily used for tracking group membership
Removes metadata from the given process (pid)
Tracks a process (pid) with the given name. Tracking processes with this function will not restart the process when it’s parent node goes down, or shift the process to other nodes if the cluster topology changes. It is strictly for global name registration
Tracks a process created via the provided module/function/args with the given name. The process will be distributed on the cluster based on the hash of it’s name on the hash ring. If the process’s parent node goes down, it will be restarted on the new node which own’s it’s keyspace. If the cluster topology changes, and the owner of it’s keyspace changes, it will be shifted to the new owner, after initiating the handoff process as described in the documentation
Stops tracking the given process (pid)
Authoritatively looks up the pid associated with a given name
Functions
Adds some metadata to the given process (pid). This is primarily used for tracking group membership.
Tracks a process (pid) with the given name. Tracking processes with this function will not restart the process when it’s parent node goes down, or shift the process to other nodes if the cluster topology changes. It is strictly for global name registration.
Tracks a process created via the provided module/function/args with the given name. The process will be distributed on the cluster based on the hash of it’s name on the hash ring. If the process’s parent node goes down, it will be restarted on the new node which own’s it’s keyspace. If the cluster topology changes, and the owner of it’s keyspace changes, it will be shifted to the new owner, after initiating the handoff process as described in the documentation.