From 96786c94189f3d2f3f04c1915529c786228bdf42 Mon Sep 17 00:00:00 2001 From: MHSanaei Date: Fri, 17 Mar 2023 19:37:49 +0330 Subject: alireza --- web/job/check_cpu_usage.go | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 web/job/check_cpu_usage.go (limited to 'web/job/check_cpu_usage.go') diff --git a/web/job/check_cpu_usage.go b/web/job/check_cpu_usage.go new file mode 100644 index 00000000..cfc86b60 --- /dev/null +++ b/web/job/check_cpu_usage.go @@ -0,0 +1,30 @@ +package job + +import ( + "fmt" + "time" + "x-ui/web/service" + + "github.com/shirou/gopsutil/v3/cpu" +) + +type CheckCpuJob struct { + tgbotService service.Tgbot + settingService service.SettingService +} + +func NewCheckCpuJob() *CheckCpuJob { + return new(CheckCpuJob) +} + +// Here run is a interface method of Job interface +func (j *CheckCpuJob) Run() { + threshold, _ := j.settingService.GetTgCpu() + + // get latest status of server + percent, err := cpu.Percent(1*time.Second, false) + if err == nil && percent[0] > float64(threshold) { + msg := fmt.Sprintf("🔴 CPU usage %.2f%% is more than threshold %d%%", percent[0], threshold) + j.tgbotService.SendMsgToTgbotAdmins(msg) + } +} -- cgit v1.2.3