29 lines
622 B
Ruby
29 lines
622 B
Ruby
# vim: ft=ruby
|
|
|
|
class GPU < Worker
|
|
require 'open3'
|
|
|
|
def mainloop()
|
|
while true do
|
|
Open3.popen2("nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader") {|i,o,t|
|
|
gpu_temp = o.gets.to_i
|
|
|
|
if gpu_temp > @my_config['temp_crit'].to_i
|
|
fg_colour = "crit_colour"
|
|
elsif gpu_temp > @my_config['temp_warn'].to_i
|
|
fg_colour = "warn_colour"
|
|
else
|
|
fg_colour = "ok_colour"
|
|
end
|
|
|
|
rstr = "%%{FC{%s}}%s%%{F-}" % [ fg_colour, gpu_temp ]
|
|
self.write(rstr)
|
|
}
|
|
|
|
sleep(1)
|
|
end
|
|
end
|
|
end
|
|
|
|
Modules.add("gpu", "GPU")
|