EventMachine Rails的多个类实例

问题描述 投票:0回答:1

我试图通过使用ruby-smpp gem的单轨应用程序通过SMPP 3.4绑定到两个diferenet SMSC。

按照此gem文档中包含的示例,我有两个指向不同ISP的配置块,即

config_1 = {
  #.......
}
config_2 = {
  #.......
}

我继续声明并运行两个网关实例,如下所示:

gw_1 = SampleGateway.new
gw_1.start(config_1)

gw_2 = SampleGateway.new
gw_2.start(config_2)

我能够绑定到各自的ISP,但我遇到的问题如下:

  1. 每当其中一个绑定丢失(即未绑定)时,两个ISP连接都将丢失。
  2. 当我向特定ISP发起/发送短信至少2次时,将通过该ISP发送短信数量(即,如果我通过ISP1发送1条短信,则将在手机上发送2条短信)

有关如何防止上述情况发生的任何想法,或者我应该使用两个不同的rails应用程序连接到ISP吗?

ruby-on-rails ruby eventmachine ruby-smpp
1个回答
0
投票

项目提供的样本网关不适合您的用例。如果你检查https://github.com/raykrueger/ruby-smpp/blob/master/examples/sample_gateway.rb#L64,EventMachine连接存储在一个类变量中,这意味着你的第二次调用gw_2.start(config_2)将覆盖第一个。

你应该把自己定位在https://github.com/raykrueger/ruby-smpp的基本用法上,并编写自己的Gateway

© www.soinside.com 2019 - 2024. All rights reserved.