table of contents
other versions
- wheezy 1:15.b.1-dfsg-4+deb7u1
- wheezy-backports 1:17.3-dfsg-4~bpo70+1
- jessie 1:17.3-dfsg-4+deb8u1
- jessie-backports 1:19.2.1+dfsg-2~bpo8+1
- testing 1:19.2.1+dfsg-2
- unstable 1:19.2.1+dfsg-2
- experimental 1:19.3.1+dfsg-1
pool(3erl) | Erlang Module Definition | pool(3erl) |
NAME¶
pool - Load Distribution FacilityDESCRIPTION¶
pool can be used to run a set of Erlang nodes as a pool of computational processors. It is organized as a master and a set of slave nodes and includes the following features:- *
- The slave nodes send regular reports to the master about their current load.
- *
- Queries can be sent to the master to determine which node will have the least load.
EXPORTS¶
start(Name) -> Nodes
start(Name, Args) -> Nodes
Types:
Name = atom()
Args = string()
Nodes = [node()]
Starts a new pool. The file .hosts.erlang is read to find host names
where the pool nodes can be started. See section Files below. The
start-up procedure fails if the file is not found.
The slave nodes are started with slave:start/2,3, passing along
Name and, if provided, Args. Name is used as the first
part of the node names, Args is used to specify command line arguments.
See slave(3erl).
Access rights must be set so that all nodes in the pool have the authority to
access each other.
The function is synchronous and all the nodes, as well as all the system
servers, are running when it returns a value.
attach(Node) -> already_attached | attached
Types:
Node = node()
This function ensures that a pool master is running and includes Node in
the pool master's pool of nodes.
stop() -> stopped
Stops the pool and kills all the slave nodes.
get_nodes() -> [node()]
Returns a list of the current member nodes of the pool.
pspawn(Mod, Fun, Args) -> pid()
Types:
Mod = module()
Fun = atom()
Args = [term()]
Spawns a process on the pool node which is expected to have the lowest future
load.
pspawn_link(Mod, Fun, Args) -> pid()
Types:
Mod = module()
Fun = atom()
Args = [term()]
Spawn links a process on the pool node which is expected to have the lowest
future load.
get_node() -> node()
Returns the node with the expected lowest future load.
FILES¶
.hosts.erlang is used to pick hosts where nodes can be started. See net_adm(3erl) for information about format and location of this file. $HOME/.erlang.slave.out.HOST is used for all additional IO that may come from the slave nodes on standard IO. If the start-up procedure does not work, this file may indicate the reason.stdlib 2.2 | Ericsson AB |