ejabberd-contrib/ejabberd_auth_http/deps/cuesport
Badlop 21ffae911c Add also Cuesport to deps from https://github.com/goj/cuesport 2015-08-13 12:28:23 +02:00
..
src Add also Cuesport to deps from https://github.com/goj/cuesport 2015-08-13 12:28:23 +02:00
LICENSE Add also Cuesport to deps from https://github.com/goj/cuesport 2015-08-13 12:28:23 +02:00
Makefile Add also Cuesport to deps from https://github.com/goj/cuesport 2015-08-13 12:28:23 +02:00
NOTICE Add also Cuesport to deps from https://github.com/goj/cuesport 2015-08-13 12:28:23 +02:00
README.md Add also Cuesport to deps from https://github.com/goj/cuesport 2015-08-13 12:28:23 +02:00

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.