【问题标题】:How to get resque-web to work on Heroku?如何让 resque-web 在 Heroku 上工作?
【发布时间】:2011-11-07 14:32:12
【问题描述】:

在我的开发机器上,我可以在控制台中输入resque-web,它会在我的浏览器上启动一个新选项卡,显示 Resque 界面。

在 Heroku、Cedar 堆栈上,我怎样才能做同样的事情?即,我想查看我的 Heroku 应用程序的 Resque 界面。

编辑

在config/initializers/resque.rb

require 'resque'
require 'resque/server'

uri = URI.parse(APP_CONFIG['redis_to_go_url'])
Resque.redis = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password)

# Load all jobs at /app/jobs
Dir["#{Rails.root}/app/jobs/*.rb"].each { |file| require file }

在routes.rb

mount Resque::Server.new, :at => '/resque'

一切正常。我现在可以看到 Resque Web 界面。但是,我想保护这不被公众看到。可能带有用户名和密码。如何做到这一点?

【问题讨论】:

标签: ruby-on-rails-3 heroku resque


【解决方案1】:

这个问题和Maurício's answer 可能指的是Resque 中包含的Sinatra 应用程序。

还有resque-web,一个可以添加到 Heroku 上现有 Rails 应用程序的 Rails 引擎。我发现这是一个更简单、更快捷的解决方案。

Resque-web 包含一个用于 HTTP 基本身份验证的接口,您可以在 project documentation 中查看。

【讨论】:

    【解决方案2】:

    我不太了解 heroku,但如果你有 config.ru 或 Rackup 文件,你可以在自己的 rails 应用程序中运行 resque-web,这里有一个示例:

    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
    

    编辑

    由于您已经将它安装在 Rails 中,只需在初始化文件中添加以下语句:

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

    显然,使用 User.authenticate(email, password ) 来验证您的用户。

    【讨论】:

    • Resque::Server 或 Resque::Server.new 是否重要?我见过这两个例子!
    • 是的,在这个例子中是这样。
    猜你喜欢
    • 1970-01-01
    • 2013-09-15
    • 2019-07-09
    • 1970-01-01
    • 1970-01-01
    • 2016-08-05
    • 2023-03-05
    • 2012-01-25
    • 2012-07-09
    相关资源
    最近更新 更多