[erlang-questions] broadcast message to all gen_server

Tilman Holschuh tilman.holschuh@REDACTED
Tue Apr 10 22:18:43 CEST 2012


On 12-04-10 12:37 PM, AD wrote:
>   I have a situation where i am trying to handle a case where I am using
> sockjs and need to send a message to each sockjs session_server (which is a
> gen_server).  I am using gproc() but I cant simply do a gproc_send() b/c
> the message ends up in handle_info() instead of properly in handle_call().
>   I have managed to work this out, when receiving a message from rabbitmq i
> do a gproc:lookup_pids() and then loop through each pid and do a
> gen_server:call(PID,Message).  The issue is this is a linear process, is
> there a way to handle sending gen_server:call() to all the processes
> concurrently ?

Do you need a response from the gen_server:call? If not you could just 
use a cast instead. Something like:

[gen_server:cast(Pid, Message) || Pid <- gproc:lookup_pids()]


Cheers
- Tilman



More information about the erlang-questions mailing list