ppikula / cuesport

simple Erlang pool of workers

Home Page:http://twitter.com/#!/goj

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

simple Erlang pool of workers

http://twitter.com/#!/goj

License:Apache License 2.0


Languages

Language:Erlang 92.5%Language:Makefile 7.5%