Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/leo-project/leo_pod
leo_pod - A Fast Erlang worker pool manager
https://github.com/leo-project/leo_pod
erlang leofs library
Last synced: about 2 months ago
JSON representation
leo_pod - A Fast Erlang worker pool manager
- Host: GitHub
- URL: https://github.com/leo-project/leo_pod
- Owner: leo-project
- License: apache-2.0
- Created: 2013-07-04T08:55:47.000Z (over 11 years ago)
- Default Branch: develop
- Last Pushed: 2020-05-31T08:19:00.000Z (over 4 years ago)
- Last Synced: 2024-04-23T14:10:04.944Z (8 months ago)
- Topics: erlang, leofs, library
- Language: Erlang
- Homepage: http://leo-project.net/leofs
- Size: 235 KB
- Stars: 6
- Watchers: 4
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# leo_pod - A Fast Erlang worker pool manager
[![Build Status](https://travis-ci.org/leo-project/leo_pod.svg?branch=develop)](https://travis-ci.org/leo-project/leo_pod)
**leo_pod** is an Erlang worker pool manager, which does not use ETS(Eralng Term Storage).
## Usage
See files under the [`test/`](https://github.com/leo-project/leo_pod/tree/develop/test) directory in the repository.
```Erlang
%% Prepare
PodName = 'first_leo_pod',
PodSize = 8,
MaxOverflow = 16,
ModName = 'leo_pod_mod',
WorkerArgs = [{protocol, tcp},
{host, "127.0.0.1"},
{port, 8080}],
leo_pod:start_link(PodName, PodSize, MaxOverflow, ModName, WorkerArgs),%% Execute - [checkout > call > checkin]
{ok, Worker} = leo_pod:checkout(PodName),
{ok, _Reply} = gen_server:call(Worker, {echo, <<"Hello Hal,">>}),
ok = leo_pod:checkin(PodName, Worker),
ok.```
## Usage in Leo Project
**leo_pod** is used in [**leo_rpc**](https://github.com/leo-project/leo_rpc) library.
It is used to mangage the number of process of RPC clients for each node.
It is necessary because some OS has the limit for the number of file descriptors
and therefore connections to the other nodes.## License
leo_pod's license is "Apache License Version 2.0"
## Sponsors
* LeoProject/LeoFS was sponsored by [Rakuten, Inc.](https://global.rakuten.com/corp/) from 2012 to Dec of 2018.
* LeoProject/LeoFS is sponsored by [Lions Data, Ltd.](https://lions-data.com/) from Jan of 2019.