[erlang-questions] Issue while starting same worker(gen_server) multiple times in Supervisor
harsha sri
harsha.pic@REDACTED
Thu Mar 26 17:59:15 CET 2015
Hi Rad,
First of all Thank you so much for immediate reply.
uclient worker start method:
-module(uclient_worker).
-behaviour(gen_server).
-export([start_link/1]).
-export([init/1, handle_call/3, handle_cast/2, handle_info/2,
terminate/2, code_change/3]).
-export([fire/0]).
-export([add_subscriber/4, spawn_subscriber/3]).
-include_lib("amqp_client/include/amqp_client.hrl").
-record(state, {channel,java_port :: port(),java_node ::
atom(),queuen,nofs}).
-define(RKFormat,
"~4.10.0B.~2.10.0B.~2.10.0B.~1.10.0B.~2.10.0B.~2.10.0B.~2.10.0B").
start_link(Pars) ->
%%file:write_file("/tmp/rabbit.txt", Pars, [append]),
gen_server:start_link({global, ?MODULE}, ?MODULE, Pars, []).
%---------------------------
% Gen Server Implementation
% --------------------------
init(Pars) ->
Regarding to CHILD in supervisor:
actually my initial supervisor is :
%%%%%%%%
-module(uclient_sup).
-behaviour(supervisor).
-export([start_link/0, init/1]).
start_link() ->
supervisor:start_link({local, ?MODULE}, ?MODULE, _Arg = []).
init([]) ->
{ok, {{one_for_one, 1, 10},
[{uclient_worker,
{uclient_worker, start_link, [{<<"callmgr">> , 3}]},
permanent,
10,
worker,
[uclient_worker]}
]}}.
%%%%%%%%%%%%%
But i changed above code for invoking multiple worker under supervisor
based on conditions.
In that process i just changed code using CHILD.
Regards,
Harsha
On Thu, Mar 26, 2015 at 9:41 PM, Rad Gruchalski <radek@REDACTED>
wrote:
> Can you show start_link of the uclient_worker?
>
> Kind regards,
> Radek Gruchalski
> radek@REDACTED <radek@REDACTED>
> de.linkedin.com/in/radgruchalski/
>
>
> *Confidentiality:*This communication is intended for the above-named
> person and may be confidential and/or legally privileged.
> If it has come to you in error you must take no action based on it, nor
> must you copy or show it to anyone; please delete/destroy and inform the
> sender immediately.
>
> On Thursday, 26 March 2015 at 15:49, harsha sri wrote:
>
> Hi,
>
> I am trying to start same worker multiple times in Supervisor but its
> giving me error.
> Here is my Supervisor:
>
>
> -module(uclient_sup).
>
> -behaviour(supervisor).
>
> -export([start_link/0, init/1]).
>
> -define(
> CHILD(Name, Args),
> {Name, {
> uclient_worker, start_link, [{<<"callmgr">> , 3}]
> }, permanent, 5000, worker, []
> }
> ).
>
> start_link() ->
> supervisor:start_link({global, ?MODULE}, ?MODULE, _Arg = []).
>
> init([]) ->
> Children = [?CHILD("uc1", Address), ?CHILD("uc2", Address)],
> {ok, { {one_for_one, 6, 10}, Children }}.
>
> I am getting below error:
>
> Error: {could_not_start,uclient,
> {{shutdown,
>
> {failed_to_start_child,"uc2",{already_started,<5169.429.0>}}},
> {uclient,start,[normal,[]]}}}
>
>
> Please help me in solving this issue. I am new to erlang.
>
> Thanks & Regards,
> SriHarsha.
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20150326/74200122/attachment.htm>
More information about the erlang-questions
mailing list