0

我遵循了一些关于如何在 heroku 上设置 resque 的指南,但它们已经过时了。

我的 config.ru:

require File.dirname(__FILE__) + '/config/environment'
require 'resque/server'

Resque::Server.class_eval do

  use Rack::Auth::Basic do |email, password|
    user = User.authenticate( email, password )
    user && user.admin?
  end

end

app = Rack::Builder.new {
  use Rails::Rack::Static

  map "/resque" do
    run Resque::Server
  end

  map "/" do
    run ActionController::Dispatcher.new
  end
}.to_app

run app

在 lib/tasks/resque.task 中:

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"

我已将此添加到我的 gemfile 中:

gem "resque"

然后在 initalizers/resque.rb 中:

ENV["REDISTOGO_URL"] ||= "mydatabaseurl"

uri = URI.parse(ENV["REDISTOGO_URL"])
Resque.redis = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password, :thread_safe => true)

我正在使用 redistogo nano heroku 插件。

在 Heroku 上,应用程序因错误而崩溃:

/app/config.ru:16:in `block (2 leve
ls) in <main>': uninitialized constant Rails::Rack::Static (NameError)

导轨版本是3.2.11

4

1 回答 1

0

它无法Static在命名空间中找到常量Rails::Rack

尝试Rack::Static

于 2013-04-11T03:55:06.743 回答