[erlang-questions] broadcast message to all gen_server
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()]
More information about the erlang-questions