【发布时间】:2026-01-02 00:00:02
【问题描述】:
我想知道如何启动一个 Ruby Rack 应用程序(例如 Sinatra)并在同一脚本中使用 Net::HTTP 或类似方法调用它。当然,我可以做类似...
require 'sinatra/base'
require 'net/http'
t = Thread.new do
class App < Sinatra::Base
get '/' do
'Hi!'
end
end
App.run! :host => 'localhost', :port => 1234
end
sleep 2
puts Net::HTTP.start('localhost', 1234) { |http| http.get('/') }.body
t.join
puts 'Bye!'
...但是睡两秒钟,等待 Thin 开始,感觉不是最佳选择。我需要的是服务器启动时的某种回调或有人有其他建议吗?
【问题讨论】:
标签: ruby multithreading events sinatra rack