如何使用远程数据库在生产中运行resque-scheduler?

时间:2015-04-01 18:10:03

标签: ruby-on-rails

嗨,我发现这很难弄明白。

我正在使用Capistrano进行部署,而且我有很多重复计划的任务,我使用resque-scheduler来运行。

在我的本地环境中,我会跑:

QUEUE=* rake environment resque:work

启动resque并启动resque-scheduler:

rake environment resque:scheduler

这是我的resque.rake文件:

require 'resque/tasks'
require 'resque/scheduler/tasks'

namespace :resque do
  task :setup do
    require 'resque'
    Resque.redis = ENV['REDIS_SERVER']
  end
  task :setup_schedule => :setup do
    require 'resque-scheduler'
    Resque.schedule = YAML.load_file("#{Rails.root}/config/resque_schedule.yml")
  end

  task :scheduler_setup => :setup_schedule
end

所以我想弄清楚的是我如何在生产中使用它?我假设我首先需要在我的服务器上安装redis,即使我有一个远程Redis数据库?然后我需要制作一个capistrano任务,或者让它运行的东西?

1 个答案:

答案 0 :(得分:0)

  1. 要连接到远程redis,请将<{1}}值替换为

    uri = URI.parse(&#39; redis:// redistogo_url:9918 /&#39;) Resque.redis = Redis.new(:host =&gt; uri.host,:port =&gt; uri.port,:password =&gt; uri.password)

  2. 您不需要安装`redis&#39;服务器只是普通的宝石