Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
simple Erlang pool of workers
Erlang
branch: master

Merge pull request #1 from paulgray/master

Correct type spec for start_worker/3
latest commit 3b16d99d8b
@goj authored
Failed to load latest commit information.
src Correct type spec for start_worker/3
.gitignore
LICENSE initial commit
Makefile initial commit
NOTICE initial commit
README.md initial commit

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],
    ChildMFA = {eredis, start_link, EredisOpts},
    cuesport:start_link(?POOL_NAME, PoolSize, ChildMods, ChildMFA).

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.

Something went wrong with that request. Please try again.