1

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

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

谢谢!

4

2 回答 2

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
于 2013-10-30T10:53:05.957 回答
2

这就是我要找的东西: http: //asciicasts.com/episodes/271-resque

Resque-web 可以独立运行,从命令行运行。因此,每当我启动我的服务器实例时,我只是用一个 shell 命令启动它。不完全是我想要的,但它确实有效!

谢谢大家的建议。

于 2013-11-04T18:28:20.177 回答