为每个 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