[erlang-questions] process hierarchy and passing references

Ladislav Lenart <>
Thu Aug 14 17:16:55 CEST 2014


Hello again.


On 14.8.2014 17:00, Ladislav Lenart wrote:
> Hello.
> 
> What about the following solution:
> * Put all three processes under one supervisor.
> * Set its restart strategy to one_for_all.

Or rest_for_one. This one may better suite your needs. For more info, refer to
the official documentation at: http://www.erlang.org/doc/man/supervisor.html

> * Pass supervisor's PID to its children.
> * Each worker process can lookup PID of its relevant sibling via
> supervisor:which_children/1.


HTH,

Ladislav Lenart


> On 14.8.2014 16:48, Schneider wrote:
>> Hi list,
>>
>> Since I am very new to Erlang, I am not sure how to layout process 
>> hierarchies in the following case:
>>
>> Besides the domain specific functionality, every program has a RPC 
>> middleman and an XML-RPC interface, each implemented as gen_servers. In 
>> the current setup, the main gen_server process starts the RPC middleman, 
>> passing it its Pid, and the RPC gen_server starts the XML-RPC server 
>> which is passed the RPC middleman's Pid.
>> Using the passed in Pid's, the XML-RPC server can do a 
>> gen_server:call()/cast() back to the RPC server which on its turn can 
>> call the main server. Works ok, but I would like to have the RPC 
>> middleman and XML-RPC controller under the control of a supervisor. The 
>> main supervisor should start the main gen_server process plus a 
>> supervisor that on its turn should start the RPC midleman and the 
>> XML-RPC handler.
>> The thing I can't figure out is how the XML-RPC process should find the 
>> RPC middleman process and how that process should locate the main server 
>> when using supervision. Since there can be many RPC middlemen and 
>> XMP-RPC servers around, each belonging to different main servers, naming 
>> and registering seems a little hard.
>> So how to pass references around?
>>
>> Any help will be very much appreciated.
>>
>> Frans
>> _______________________________________________
>> erlang-questions mailing list
>> 
>> http://erlang.org/mailman/listinfo/erlang-questions
>>
> 
> 
> _______________________________________________
> erlang-questions mailing list
> 
> http://erlang.org/mailman/listinfo/erlang-questions
> 





More information about the erlang-questions mailing list