pooler_pooled_worker_sup.erl 525 B

12345678910111213141516
  1. -module(pooler_pooled_worker_sup).
  2. -behaviour(supervisor).
  3. -export([start_link/1, init/1]).
  4. -spec start_link(pooler:pool_config()) -> {ok, pid()} | {error, any()}.
  5. start_link(#{start_mfa := MFA} = PoolConf) ->
  6. SupName = pooler_pool_sup:member_sup_name(PoolConf),
  7. supervisor:start_link({local, SupName}, ?MODULE, MFA).
  8. init({Mod, Fun, Args}) ->
  9. Worker = {Mod, {Mod, Fun, Args}, temporary, brutal_kill, worker, [Mod]},
  10. Specs = [Worker],
  11. Restart = {simple_one_for_one, 1, 1},
  12. {ok, {Restart, Specs}}.