You are here: Home / LBN / Up2date / Cloud Computing / BastionLinux 19 / erlang-pooler-1.1.0-1.lbn19.x86_64

erlang-pooler-1.1.0-1.lbn19.x86_64

Package Attributes
RPM  erlang-pooler-1.1.0-1.lbn19.x86_64.rpm Architecture  x86_64 Size  46537 Created  2019/09/30 06:56:22 UTC
Package Specification
Summary An OTP Process Pool Application
Group Development/Libraries/Other
License MIT
Home Page https://github.com/seth/pooler
Description

The pooler application allows you to manage pools of OTP behaviors such as gen_servers, gen_fsms, or supervisors, and provide consumers with exclusive access to pool members using pooler:take_member.

https://travis-ci.org/seth/pooler.png What pooler does Protects the members of a pool from being used concurrently

The main pooler interface is pooler:take_member/1 and pooler:return_member/3. The pooler server will keep track of which members are in use and which are free. There is no need to call pooler:return_member if the consumer is a short-lived process; in this case, pooler will detect the consumer’s normal exit and reclaim the member. To achieve this, pooler tracks the calling process of take_member as the consumer of the pool member. Thus pooler assumes that there is no middle-man process calling take_member and handing out the member pid to another worker process. Maintains the size of the pool

You specify an initial and a maximum number of members in the pool. Pooler will create new members on demand until the maximum member count is reached. New pool members are added to replace members that crash. If a consumer crashes, the member it was using will be destroyed and replaced. You can configure Pooler to periodically check for and remove members that have not been used recently to reduce the member count back to its initial size. Manage multiple pools

You can use pooler to manage multiple independent pools and multiple grouped pools. Independent pools allow you to pool clients for different backend services (e.g. postgresql and redis). Grouped pools can optionally be accessed using pooler:take_group_member/1 to provide load balancing of the pools in the group. A typical use of grouped pools is to have each pool contain clients connected to a particular node in a cluster (think database read slaves). Pooler’s take_group_member function will randomly select a pool in the group to fetch a member from. If the randomly selected pool has no free members, pooler will attempt to obtain a member from each pool in the group. If there is no pool with available members, pooler will return error_no_members.

Requires
rpmlib(PayloadFilesHavePrefix)  
rpmlib(FileDigests)  
rpmlib(PayloadIsXz)  
rpmlib(CompressedFileNames)  
Provides
erlang-pooler
erlang-pooler(x86-64)

Document Actions