3

我正在寻找在两个 Rails 应用程序之间进行通信的解决方案。我有两台服务器,一台用于网络,一台用于分析。当用户通过 Web 服务器注册时,该服务器需要通知分析服务器创建一些结果(这可能需要几分钟),然后从中获取结果。

是否有可以同时访问两台服务器的 Sidekiq 服务器(无需设置 API)?我应该怎么做?

4

2 回答 2

5

是的,有可能。您可以为两台服务器共享 redis 数据库。在您的初始化程序/sidekiq.rb 文件中,

Sidekiq.configure_server do |config|
    config.redis = { url: 'redis://localhost:6379/0', namespace: "sidekiq_app_name_#{Rails.env}" }
end

Sidekiq.configure_client do |config|
    config.redis = { url: 'redis://localhost:6379/0', namespace: "sidekiq_app_name_#{Rails.env}" }
end   
于 2013-10-24T07:40:26.927 回答
4

Sidekiq 使用Redis来存储作业。您可以拥有一个共享的 redis 数据库,您可以在其中:

  • 从一个应用程序将数据推送到 redis
  • 从另一个应用程序从 redis 中提取数据
于 2013-09-19T11:08:11.287 回答