如何在Sinatra应用程序旁边使用Resque Web

时间:2013-10-29 21:30:45

标签: ruby-on-rails ruby sinatra resque resque-scheduler

我有一个Sinatra网络应用程序。我正在使用Resque和Resque Scheduler,现在我正在考虑添加Resque Web(希望)看看我的Resque队列是什么样的。现在这是我的问题:官方Resque Web是一个Rails应用程序。我不知道如何在Sinatra中使用Rails应用程序,或者甚至可能使用它。

所以我的问题:在我的Sinatra应用程序中实现Resque Web的最佳方法是什么?我可以使用Sinatra内部的rails应用程序吗?我看到一个人说你应该有一个运行Rails的应用程序的单独部分,但这看起来真的很讨厌。有没有更好的方法呢?

谢谢!

2 个答案:

答案 0 :(得分:2)

我没有使用过ResqueWeb,但是Rails和Sinatra都是Rack兼容的框架,因此它们应该能够相互运行或者并行运行。

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

我不知道你是如何使用Rails做的,也许试试这个链接http://m.onkey.org/rails-meets-sinatra或者这个:

RailsApp::Application.routes.draw do
  mount MyAmazingApp, :at => "/more-amazed"
  # rest of the rails routes
end

答案 1 :(得分:2)

以下是我要找的内容:http://asciicasts.com/episodes/271-resque

Resque-web可以独立运行,从命令行运行。所以每当我启动我的服务器实例时,我只是用shell命令启动它。不完全是我正在寻找的,但它确实有效!

感谢所有建议。