我编写了一个管理脚本,该脚本跟踪 heroku 日志,每隔 n 秒,它会汇总平均值并在我超过某个阈值时通知我(是的,我知道并喜欢新的遗物——但我想做自定义的东西)。
这是整个脚本。
我从来都不是 IO 和线程的高手,我想知道我是否犯了一个愚蠢的错误。我有几个while(true){}
可能是罪魁祸首的守护线程。例如:
# read new lines
f = File.open(file, "r")
f.seek(0, IO::SEEK_END)
while true do
select([f])
line = f.gets
parse_heroku_line(line)
end
我使用一个守护进程来监视日志的新行,另一个用于定期总结。
有人看到了一种减少处理器密集型的方法吗?