【问题标题】:Default Sidekiq Redis configuration in Rails appRails 应用程序中的默认 Sidekiq Redis 配置
【发布时间】:2017-06-24 07:28:14
【问题描述】:

我正在尝试了解 Passenger+Rails 应用程序中的 Redis 和 Sidekiq 配置,但遇到了一些缺乏了解的情况。我独立于我的 Rails 应用程序启动 redis 服务器,而 Sidekiq 是我的 Rails 应用程序中的一个宝石。我同样启动它:(我不需要 sidekiq.yml 文件)

捆绑执行sidekiq

以下是我的 sidekiq.rb 初始化程序:

require 'sidekiq'
require 'sidekiq-status'

Sidekiq.configure_client do |config|
  config.client_middleware do |chain|
    chain.add Sidekiq::Status::ClientMiddleware
  end
end

Sidekiq.configure_server do |config|
  config.server_middleware do |chain|
    chain.add Sidekiq::Status::ServerMiddleware, expiration: 30.minutes
  end
  config.client_middleware do |chain|
    chain.add Sidekiq::Status::ClientMiddleware
  end
end

我参加了一些图书馆课程,但无济于事。

我想了解 Sidekiq 在哪里配置它的 Redis 服务器详细信息。它默认为localhost:6379,但我不太确定如何。
另外,如果我以后想使用 Memcached,我该如何改变呢?

【问题讨论】:

    标签: ruby-on-rails ruby configuration redis sidekiq


    【解决方案1】:

    来自 sidekiq 文档:

    默认情况下,Sidekiq 会尝试在 localhost:6379 连接到 Redis

    https://github.com/mperham/sidekiq/wiki/Using-Redis

    您可以在初始化程序中更改端口:

     Sidekiq.configure_server do |config|
          config.redis = { url: 'redis://redis.example.com:7372/12' }
     end
    

    从外观上看,sidekiq 只适用于 redis

    Sidekiq 使用 Redis 存储其所有作业和操作数据。

    【讨论】:

    【解决方案2】:

    这是我从另一个答案中所做的:

    # frozen_string_literal: true
    Sidekiq.configure_server do |config|
      config.redis = {
        url: ENV.fetch("SIDEKIQ_REDIS_URL", "redis://localhost:6379/1")
      }
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-03-16
      • 1970-01-01
      • 2016-04-20
      • 2017-09-04
      • 2016-10-04
      • 2018-12-01
      • 1970-01-01
      相关资源
      最近更新 更多