fix: for connection used ecpool, let worker do health check fun
let it be same with ecpool:pick_and_do/3 for checkfun use format as {M,F,A}
This commit is contained in:
parent
2803aff798
commit
65f468f706
|
@ -67,13 +67,14 @@ stop_pool(Name) ->
|
|||
health_check_ecpool_workers(PoolName, CheckFunc) ->
|
||||
health_check_ecpool_workers(PoolName, CheckFunc, ?HEALTH_CHECK_TIMEOUT).
|
||||
|
||||
health_check_ecpool_workers(PoolName, CheckFunc, Timeout) when is_function(CheckFunc) ->
|
||||
health_check_ecpool_workers(PoolName, CheckFunc, Timeout) ->
|
||||
Workers = [Worker || {_WorkerName, Worker} <- ecpool:workers(PoolName)],
|
||||
DoPerWorker =
|
||||
fun(Worker) ->
|
||||
case ecpool_worker:client(Worker) of
|
||||
{ok, Conn} ->
|
||||
erlang:is_process_alive(Conn) andalso CheckFunc(Conn);
|
||||
erlang:is_process_alive(Conn) andalso
|
||||
ecpool_worker:exec(Worker, CheckFunc, Timeout);
|
||||
_ ->
|
||||
false
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue