我正在使用Erlang OTP框架构建网络路由器应用程序。
在运行过程中,Supervisor创建了两个genserver,每个estagen_server:call(CurrentProcName,{BinEvent,UniqueTrxId,MdPid},infinity)都会建立一个tcp连接到两个单独的服务器。
现在,在运行应用程序时,有时一个genserver会收到重复事件,在这种情况下,我希望该事件由第二个gen_server处理。
为此,我调用了gen_server:call(NextProcName,{BinEvent,UniqueTrxId,MdPid},infinity)。
当满足重复事件的条件时,我在gen_server模块内部调用此函数。
NextProcName :: 它是第二个genserver的注册名称
注意:代码对于两个genserver保持不变
问题是,我能够复制事件,但某种方式事件未传递到第二个genserver :(
请建议我是否做错了。
在运行过程中,Supervisor创建了两个genserver,每个estagen_server:call(CurrentProcName,{BinEvent,UniqueTrxId,MdPid},infinity)都会建立一个tcp连接到两个单独的服务器。
现在,在运行应用程序时,有时一个genserver会收到重复事件,在这种情况下,我希望该事件由第二个gen_server处理。
为此,我调用了gen_server:call(NextProcName,{BinEvent,UniqueTrxId,MdPid},infinity)。
当满足重复事件的条件时,我在gen_server模块内部调用此函数。
NextProcName :: 它是第二个genserver的注册名称
注意:代码对于两个genserver保持不变
问题是,我能够复制事件,但某种方式事件未传递到第二个genserver :(
请建议我是否做错了。