From 311cd4606aa9f30ea7dd23af1538c3b249a60bb7 Mon Sep 17 00:00:00 2001 From: Peyman <118217228+Ptechgithub@users.noreply.github.com> Date: Thu, 25 May 2023 03:33:54 -0700 Subject: [PATCH] Add files via upload --- web/job/check_cpu_usage.go | 33 +++++++++++++++++++++++++++++++++ web/job/check_hash_storage.go | 19 +++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 web/job/check_cpu_usage.go create mode 100644 web/job/check_hash_storage.go diff --git a/web/job/check_cpu_usage.go b/web/job/check_cpu_usage.go new file mode 100644 index 00000000..74f6a544 --- /dev/null +++ b/web/job/check_cpu_usage.go @@ -0,0 +1,33 @@ +package job + +import ( + "strconv" + "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 := j.tgbotService.I18nBot("tgbot.messages.cpuThreshold", + "Percent=="+strconv.FormatFloat(percent[0], 'f', 2, 64), + "Threshold=="+strconv.Itoa(threshold)) + + j.tgbotService.SendMsgToTgbotAdmins(msg) + } +} diff --git a/web/job/check_hash_storage.go b/web/job/check_hash_storage.go new file mode 100644 index 00000000..468aa2e0 --- /dev/null +++ b/web/job/check_hash_storage.go @@ -0,0 +1,19 @@ +package job + +import ( + "x-ui/web/service" +) + +type CheckHashStorageJob struct { + tgbotService service.Tgbot +} + +func NewCheckHashStorageJob() *CheckHashStorageJob { + return new(CheckHashStorageJob) +} + +// Here Run is an interface method of the Job interface +func (j *CheckHashStorageJob) Run() { + // Remove expired hashes from storage + j.tgbotService.GetHashStorage().RemoveExpiredHashes() +}