2011-08-31 2 views
11

내 dev 컴퓨터에서 콘솔에 resque-web을 입력 할 수 있으며 Resque 인터페이스를 보여주는 브라우저에 새 탭을 시작합니다.Heroku에서 작동하도록 resque-web을 얻는 방법은 무엇입니까?

Heroku에서 Cedar 스택을 사용하면 어떻게 할 수 있습니까? 즉, Heroku 앱의 Resque 인터페이스를보고 싶습니다.

routes.rb

mount Resque::Server.new, :at => '/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 } 

에서 편집

작동합니다. 이제 Resque 웹 인터페이스를 볼 수 있습니다. 그러나 나는 이것을 공공연히 보지 않으려 고한다. 사용자 이름과 비밀번호가있을 수 있습니다. 어떻게 할 수 있습니까?

+0

매우 유용합니다. [Check out] (http://railscasts.com/episodes/82-http-basic-authentication)을 사용하면 기본적인 HTTP 인증 만 수행 할 수 있습니다. – Suren

+0

이 문서는 Redis To Go를 사용하는 경우 도움이됩니다. https://redistogo.com/documentation/resque?language=en –

답변

4

난 정말 Heroku가 모르지만, 당신이 config.ru이있는 경우 또는 Rackup이 파일을 자신의 레일 애플 리케이션 내부 resque - 웹을 실행할 수 있습니다, 여기 수행하는 방법의 예는 다음과 같습니다

이미 레일의 내부를 장착됨에 따라
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 

편집하는 것은

, 단지 초기화 파일에이 문을 추가 :

Resque::Server.class_eval do 

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

end 

분명히 사용자 인증에 사용하는 사용자 이름은입니다. 사용자 인증 (전자 메일, 비밀번호) .

+0

위의 편집을 참조하십시오. –

+1

수정 된 답변이 있습니다. –

+0

'Resque :: Server' 또는'Resque :: Server.new'가 중요할까요? 나는 둘 다의 예를 보았다! –

0

이 질문과 Maurício's answerResque에 포함 된 Sinatra 앱을 참조 할 가능성이 큽니다.

또한 012oku, 즉 Roku Engine을 Heroku의 기존 Rails 앱에 추가 할 수 있습니다. 나는 이것을 더 쉽고 빠른 해결책으로 생각했다.

Resque-web에는 HTTP 기본 인증을위한 인터페이스가 포함되어 있으며 project documentation에서 확인할 수 있습니다.

관련 문제