为每个 Resque 的 Worker 设置 Redis 的主机

我想要根据每个Resque的Worker更改Redis的连接地址,所以我创建了以下的扩展。
这可以用于Redis的内存使用较高且需要分散的情况等。

class WorkerBase
  def self.before_enqueue(*args)
    Resque.redis = @redis if @redis
  end

  def self.after_enqueue(*args)
    Resque.redis = DEFAULT_REDIS_HOST
  end
end

以下提供了变更的选项。

require 'worker_base'

class Worker < WorkerBase
  @redis = OTHER_REDIS_HOST

  # ...
end