simple Erlang pool of workers
Erlang
Switch branches/tags
Nothing to show
Pull request Compare This branch is 2 commits ahead, 2 commits behind goj:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src
.gitignore
LICENSE
Makefile
NOTICE
README.md
rebar

README.md

Summary

Cuesport is a simple pool of workers, meant mainly to be used with things like DB connections. Use when poolboy's elaborate checkin/checkout seems to be overkill for your task.

Usage

Suggested usage is to create your own wrapper module which wraps cuesport and provides wrapper functions to hide pool's usage. Something in the lines of:

-module(myproduct_redis).

-export([start_link/0, q/1, q/2]).

-define(POOL_NAME, myproduct_redis_pool).

%%%===================================================================
%%% API functions
%%%===================================================================

start_link() ->
    PoolSize = get_config(redis_pool_size),
    EredisOpts = get_config(redis_worker_config),
    ChildMods = [eredis, eredis_client, eredis_parser],
    ChildMF = {eredis, start_link},
    cuesport:start_link(?POOL_NAME, PoolSize, ChildMods, ChildMF, {for_all, EredisOpts}).

q(Query) ->
    eredis:q(cuesport:get_worker(?POOL_NAME), Query).

q(Query, Opts) ->
    eredis:q(cuesport:get_worker(?POOL_NAME), Query, Opts).

Then add myproduct_redis to your supervision tree.