我正在尝试创建一个Sinatra服务器,它将返回有关EventMachine服务器的统计信息。也就是说,我正在运行:
EventMachine.run do
server = EventMachine.start_server 'localhost', 3333, MyApp
dispatch = Rack::Builder.app do
map '/' do
run MySinatraApp
end
end
Rack::Server.start({
app: dispatch,
server: 'thin',
Host: '0.0.0.0',
Port: '1111'
})
end
我的目标是找出start_server
启动的正在运行的服务器的信息,例如connection_count
。有没有办法做到这一点?
答案 0 :(得分:1)
据我所知,没有内置方法可以做到这一点(希望有人反驳我),
你可以在MyApp
和+1
上保持一个计数器在连接上,-1
在unbind上保持相同的效果。
答案 1 :(得分:0)
为什么呢?为什么不让EM服务器提供/info
端点或返回所需信息转储的东西?你为什么需要第二台服务器?如果你真的想要第二台服务器那么它可能只是一个简单的sinatra应用程序向/info
发出HTTP请求并返回结果。
对于connection_count
,您可以调用EM.connection_count
。你可以看到它here。