在两个应用程序之间共享Sidekiq

时间:2013-09-19 10:52:25

标签: ruby-on-rails sidekiq

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

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

2 个答案:

答案 0 :(得分:5)

是的,可能。您可以为两个服务器共享redis数据库。在您的initializers / 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   

答案 1 :(得分:4)

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

  • 将数据从一个应用程序推送到redis
  • 从其他应用程序的redis中提取数据