Pubnub 发布不发布

Pubnub publish not publishing

我正在尝试向 pubnub 频道发布消息,但未在服务器上发布。然而,它在本地机器上工作得非常好。知道我哪里做错了吗?

class Message < ActiveRecord::Base

  after_create :send_message_to_driver

  def send_message_to_ABC
    $pubnub.publish(
        channel: "chat_ABC",
        message: message
    ) do |env|
      puts env.parsed_response
    end
  end
end

正在为应用全局初始化 $pubnub。

好的,通过一些研究和调试,我可以解决这个问题。出现此问题是因为默认情况下 Ruby 操作是异步的。因此脚本在发布完成之前终止。幸运的是,对于这个 pubnub 的发布方法,我们有一个选项 http_sync。将其设置为 true 可确保在发布完成之前该流程不会终止。所以新代码是

$pubnub.publish(
  http_sync: true,
  channel: "chat_ABC",
  message: message
) do |env|
  puts env.parsed_response
end