EventMachine Rails的多个类实例

时间:2018-01-16 12:21:29

标签: ruby-on-rails ruby eventmachine ruby-smpp

我正尝试使用ruby-smpp gem从单个rails应用程序通过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条短信)
  3. 关于如何防止上述情况发生的任何想法,或者我应该使用两个不同的rails应用程序连接到ISP吗?

1 个答案:

答案 0 :(得分:0)

项目提供的samplegateway不适合您的用例。如果您检查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