[erlang-questions] 关于global进程死掉问题
Barco You
barcojie@REDACTED
Wed Jan 9 05:39:48 CET 2013
你在B,C机器上设置timeout不就行了。
receive
{Pid,okss} ->
io:format("~p~n", [{Pid,Any}]),
Pid ! "thank you",
loop()
after Timeout ->
dosothing here
end.
2013/1/9 郎咸武 <langxianzhe@REDACTED>
> 假如有三台服务器A,B,C做一个集群。
> 在其中A 服务器上运行下面代码。
> 这是 三台服务器都能使用 gl进程发送消息。
>
> *问题是: *A 服务器挂掉后,B和C 两台服务器都不能正常使用.
>
> 请问有什么好的方法避免这个问题?
>
> 谢谢各位
>
> 郎咸武
>
>
> 1 -module(global_t).
>
>
> 2
> 3 -compile(export_all).
> 4
> 5
> 6 start() ->
> 7 Pid = spawn(?MODULE, loop, []),
> 8 global:register_name(gl, Pid).
> 9
> 10
> 11 loop() ->
> 12 io:format("loop~n", []),
> 13 receive
> 14 {Pid,Any} ->
> 15 io:format("~p~n", [{Pid,Any}]),
> 16 Pid ! okss,
> 17 loop()
> 18 end.
> 19
> 20
> 21
> ~
>
>
> ~
>
>
> ~
> --
> 只为成功找方法,不为失败找理由
>
> _______________________________________________
> 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/20130109/49a708be/attachment.htm>
More information about the erlang-questions
mailing list