【问题标题】:Running rake tasks to start Resque workers on Heroku运行 rake 任务以在 Heroku 上启动 Resque 工作人员
【发布时间】:2011-10-27 17:41:04
【问题描述】:

所以我在 Heroku 上设置了 Resque 和 redis,这就是我的 resque.rake 文件的样子:

require 'resque/tasks'

task "resque:setup" => :environment do
  ENV['QUEUE'] = '*'
end

desc "Alias for resque:work (To run workers on Heroku)"
task "jobs:work" => "resque:work"

我运行 heroku rake jobs:work 并让一名工人运行。这非常有效。我的后台工作正在完成。

然后我对我的代码进行了一些更改,推送到 heroku,但仍然看到我有一个工人在运行。但是,当作业被添加到队列中时,工作人员没有收到任何作业。所以我又跑了heroku rake jobs:work,它说我有两个工人在运行,我的工作正在完成。

我的问题是为什么会发生这种情况?每次推送到heroku时都需要运行这个rake任务吗?有没有办法自动化这个?此外,虽然我有两个工人在运行,但似乎只有一个在工作。有没有办法让一个工人回来?

【问题讨论】:

    标签: heroku rake backgroundworker redis resque


    【解决方案1】:

    Resque 只需要一名工人。您将需要运行 heroku rake jobs:work 或使用 Resque-Scheduler(cron 或运行该任务的其他东西)来自动运行您的作业。

    【讨论】:

    • 虽然这可能是真的,但这并不能回答我的问题
    【解决方案2】:

    您应该在 heroku http://devcenter.heroku.com/articles/procfile 上使用 Procfile 进行 resque 作业

    请记住,Procfile 用于新的 Heroku Cedar Stack。

    【讨论】:

      猜你喜欢
      • 2021-02-15
      • 2015-11-08
      • 1970-01-01
      • 1970-01-01
      • 2013-03-11
      • 1970-01-01
      • 2012-04-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多