如何在 Sinatra 应用程序中使用 sidekiq 监控?
How can I use sidekiq monitoring with a Sinatra app?
我的路线文件:
require 'sinatra'
require 'sidekiq'
require 'sidekiq/web'
require 'sequel'
get '/' do
# Some stuff
end
get '/sidekiq' do
run Sidekiq::Web
end
要去http://localhost:4567/sidekiq
:
NoMethodError at /sidekiq
undefined method `run' for #<Sinatra::Application:0x007f670d2123b8>
我正在使用 bundle exec sidekiq -r ./workers/gyf_downloader.rb
先启动 Sidekiq,然后 bundle exec ruby routes.rb
启动 Sinatra 应用程序。
关于如何使它正常工作有什么建议吗?
我已经修复了以下错误:
Internal Server Error
undefined method `join' for #<String:0x007fa504414c08>
WEBrick/1.3.1 (Ruby/2.2.1/2015-02-26) at localhost:4567
根据下面 Mike Perham 的回答,在我的 gemfile 中使用 gem 'sinatra', git: 'git@github.com:sinatra/sinatra.git'
查看 this Sinatra issue on github。
这是 Sinatra 中的一个已知问题:
将以下代码添加到 config.ru
。首先定义您的应用程序的路径,然后是 sidekiq。接下来你应该添加 Sidekiq 配置和路径映射路由。
# config.ru
require './app'
require 'sidekiq'
require 'sidekiq/web'
Sidekiq.configure_client do |config|
config.redis = { url: "redis://#{ENV['REDIS_HOST']}:#{ENV['REDIS_PORT']}" }
end
run Rack::URLMap.new('/' => App, '/sidekiq' => Sidekiq::Web)
我的路线文件:
require 'sinatra'
require 'sidekiq'
require 'sidekiq/web'
require 'sequel'
get '/' do
# Some stuff
end
get '/sidekiq' do
run Sidekiq::Web
end
要去http://localhost:4567/sidekiq
:
NoMethodError at /sidekiq
undefined method `run' for #<Sinatra::Application:0x007f670d2123b8>
我正在使用 bundle exec sidekiq -r ./workers/gyf_downloader.rb
先启动 Sidekiq,然后 bundle exec ruby routes.rb
启动 Sinatra 应用程序。
关于如何使它正常工作有什么建议吗?
我已经修复了以下错误:
Internal Server Error
undefined method `join' for #<String:0x007fa504414c08>
WEBrick/1.3.1 (Ruby/2.2.1/2015-02-26) at localhost:4567
根据下面 Mike Perham 的回答,在我的 gemfile 中使用 gem 'sinatra', git: 'git@github.com:sinatra/sinatra.git'
查看 this Sinatra issue on github。
这是 Sinatra 中的一个已知问题:
将以下代码添加到 config.ru
。首先定义您的应用程序的路径,然后是 sidekiq。接下来你应该添加 Sidekiq 配置和路径映射路由。
# config.ru
require './app'
require 'sidekiq'
require 'sidekiq/web'
Sidekiq.configure_client do |config|
config.redis = { url: "redis://#{ENV['REDIS_HOST']}:#{ENV['REDIS_PORT']}" }
end
run Rack::URLMap.new('/' => App, '/sidekiq' => Sidekiq::Web)