EventMachine で実行中のプロセスを強制終了するにはどうすればよいですか? 以下は例です。10 個のプロセスを開始してから、それらをすべて消去しようとしています (ただし、機能しません)。私の目標は、「完了」出力を持たないことです。
require "rubygems"
require "eventmachine"
class Event
def start
sleep(5)
puts Time.now.to_s + ": Finished!"
end
end
EventMachine.run do
events = []
10.times {
handle = Event.new
events << handle
EventMachine.defer(proc {
handle.start
})
}
# Terminate all events!
events.each do |handle|
handle = nil
ObjectSpace.garbage_collect
end
end
変数を設定して、出力時に設定されているかどうかを確認できることは承知していますが、これは「本物」ではないように感じますか、これが本当に唯一の解決策ですか?