gpt4 book ai didi

Ruby EventMachine,终止正在运行的进程?

转载 作者:数据小太阳 更新时间:2023-10-29 08:09:18 25 4
gpt4 key购买 nike

如何终止 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

我知道我可以设置一个变量并在执行输出时检查它是否已设置,但我觉得这不是“真实”的东西,或者这真的是唯一的解决方案吗?

最佳答案

尝试 EventMachine.stop_event_loop ,它将“导致所有打开的连接和接受服务器停止运行并关闭”。

关于Ruby EventMachine,终止正在运行的进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18481215/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com