Structuring an application

Rick Pettit <>
Fri Jan 13 16:57:41 CET 2006


On Fri, Jan 13, 2006 at 03:38:52PM +0000, Joel Reymont wrote:
> Folks,
> 
> I have an app that launches hundreds of poker bots against a poker  
> server.
> 
> Each bot needs to have a different user name and password. These can  
> be obtained by asking a "name server".
> 
> Each bot launches two socket readers, processes that loop reading  
> packets in passive mode. The reason I do it this way is because  
> packet length is given to me in little-endian order and is the length  
> of the whole packet including the length itself.
> 
> I would like to fail the poker bot when either of the two socket  
> readers fail. I would also like to monitor the poker bot to update  
> the failed counter when the bot fails. When all bots fail or exit  
> cleanly then the supervisor should exit.
> 
> How can I achieve this with standard OTP tools? I thought I could use  
> a supervisor but there's no restart policy to let a child fail while  
> others continue.

I believe you are wrong here. From supervisor(3):


       A supervisor can have one of the following restart strate-
       gies:

         * one_for_one  -  if  one  child  process terminates and
           should  be  restarted,  only  that  child  process  is
           affected.

Just out of curiousity, are you taking a crash course in Erlang for work,
school, or fun? You ask a ton of questions :-)

I don't mean to poke fun, just curious.

-Rick



More information about the erlang-questions mailing list