2013-10-29 6 views
1

Sinatra 웹 앱이 있습니다. Resque와 Resque Scheduler를 사용하고 있는데 Resque Web을 (잘하면) 볼 수 있도록 Resque 대기열이 어떻게 보이는지 살펴 보겠습니다. 이제 내 문제는 다음과 같습니다. 공식 Resque Web은 Rails 앱입니다. Sinatra 내부에서 Rails 응용 프로그램을 사용하는 방법이나 가능할 지 모르겠습니다.Sinatra 앱과 함께 Resque Web을 사용하는 방법

내 질문 : Sinatra 앱에 Resque Web을 구현하는 가장 좋은 방법은 무엇입니까? Sinatra 내부의 레일 앱을 사용할 수 있습니까? 한 사람이 Rails를 실행하는 앱의 별도 부분을 가져야한다고 말하지만 정말 불쾌한 것 같습니다. 그것을 할 수있는 더 좋은 방법이 있습니까?

감사합니다.

+0

Sinatra를 웹 인터페이스 용으로 사용하는 고급 Sidekiq을 사용할 수 있습니다. https://github.com/mperham/sidekiq/wiki/Monitoring. 그것은 Resque보다 훨씬 가볍고, 스케줄링을 내장하고, 스레드를 사용하며,보다 안정적입니다. –

+0

아쉽게도 할 수 없습니다. Resque는 이미 앱에 통합되어 있으며, 스왑 아웃은 가치가있는 것보다 더 많은 문제가됩니다. –

+0

이것에 관해서 : https://github.com/defunkt/resque-web –

답변

2

을 여기 내가 찾고있는 것이 있습니다 : http://asciicasts.com/episodes/271-resque

Resque-web은 명령 줄에서 실행할 수 있습니다. 그래서 저는 서버의 인스턴스를 시작할 때마다 쉘 명령으로 시작했습니다. 정확히 내가 뭘 찾고 있었는지는 모르지만 트릭을!

제안 해 주셔서 감사합니다.

2

저는 ResqueWeb을 사용하지 않았지만 Rails와 Sinatra는 랙 호환 프레임 워크이므로 서로 또는 나란히 실행할 수 있어야합니다.

http://www.sinatrarb.com/intro.html#Rack%20Middleware

## my-amazing-app.rb 
use MySlightlyLessAmazingRailsApp 
# rest of Sinatra stuff… 

또는

# config.ru 
map "/" do 
    # easiest to mount Sinatra apps this way if using the modular style 
    run MyAmazingSinatraApp 
end 

map "/resque" do 
    run MySlightlyLessAmazingRailsApp 
end 
난 당신이 레일이 할 줄 방법을 모른다

, 아마도이 링크 http://m.onkey.org/rails-meets-sinatra 혹은이 시도 :

+0

그 링크가 내가 말하고 있었던 링크입니다. 이것은 내가하지 않기를 바랄 것입니다. Sinatra뿐만 아니라 Rails를 실행하는 것은 정말 불쾌한 것처럼 보입니다. 이것이 정말로 유일한 방법인가요? –

+0

@Timothy 실제로 데이터를 API, 프론트 엔드 웹 앱 등으로 압축 한 다음 'map'을 사용하여 'config.ru'에 마운트합니다. Rack이 매우 유용하다는 큰 이유 중 하나입니다. – iain

+1

정말요? 허. 그 흥미 롭군요. 그 통찰력에 감사드립니다. 나는이 아이디어로 놀 것이다. –