"god"无法启动Resque工作者。

3

我在使用神器宝石时遇到了一些问题。我基本上是从Github上复制了配置文件,但似乎无法正确启动resque工作程序。我的配置文件如下:

rails_env   = "production"
rails_root  = "/path/to/root"
num_workers = 1

num_workers.times do |num|
  God.watch do |w|
    w.dir      = "#{rails_root}"
    w.name     = "emailer-#{num}"
    w.group    = 'emailer'
    w.interval = 30.seconds
    w.behavior(:clean_pid_file)
    w.env      = {"QUEUE"=>"emailer", "RAILS_ENV"=>rails_env}
    w.start    = "/usr/local/bin/rake -f #{rails_root}/Rakefile environment resque:work"

  end
end

我正在使用以下命令运行god:

sudo god -c resque.god -D

这会输出以下内容:
I [2012-08-15 19:32:00]  INFO: resque.god
I [2012-08-15 19:32:00]  INFO: Syslog enabled.
I [2012-08-15 19:32:00]  INFO: Using pid file directory: /var/run/god
I [2012-08-15 19:32:00]  INFO: Socket already in use
I [2012-08-15 19:32:01]  INFO: Socket is stale, reopening
I [2012-08-15 19:32:01]  INFO: Started on drbunix:///tmp/god.17165.sock
I [2012-08-15 19:32:01]  INFO: emailer-0 move 'unmonitored' to 'up'
I [2012-08-15 19:32:01]  INFO: emailer-0 moved 'unmonitored' to 'up'

但是在resque-web界面中没有工作人员出现,也没有从队列中拉取任何任务。有没有人能发现我做错了什么?另外,我已经尝试使用我的常规脚本从命令行启动一个工作者,结果也和预期一样。哦,这是在Ubuntu 10.04上运行的。

1个回答

0

我认为你需要像这样在 w.start 中传递 queue_name:

w.start = "/usr/local/bin/rake -f #{rails_root}/Rakefile environment resque:work QUEUE=emailer"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接