我正在寻找在两个 Rails 应用程序之间进行通信的解决方案。我有两台服务器,一台用于网络,一台用于分析。当用户通过 Web 服务器注册时,该服务器需要通知分析服务器创建一些结果(这可能需要几分钟),然后从中获取结果。
是否有可以同时访问两台服务器的 Sidekiq 服务器(无需设置 API)?我应该怎么做?
我正在寻找在两个 Rails 应用程序之间进行通信的解决方案。我有两台服务器,一台用于网络,一台用于分析。当用户通过 Web 服务器注册时,该服务器需要通知分析服务器创建一些结果(这可能需要几分钟),然后从中获取结果。
是否有可以同时访问两台服务器的 Sidekiq 服务器(无需设置 API)?我应该怎么做?
是的,有可能。您可以为两台服务器共享 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
Sidekiq 使用Redis来存储作业。您可以拥有一个共享的 redis 数据库,您可以在其中: