From a8afa113cfef80237031916e20df44bc11df2270 Mon Sep 17 00:00:00 2001 From: Kyomotoi <0w0@imki.moe> Date: Mon, 17 Oct 2022 23:46:00 +0800 Subject: =?UTF-8?q?=E2=99=BB=EF=B8=8F=20=E8=B7=9F=E8=BF=9B=20service=20?= =?UTF-8?q?=E7=9A=84=E5=8F=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ATRI/plugins/status/__init__.py | 10 +++++++--- ATRI/plugins/status/data_source.py | 37 +++++++++++++++++-------------------- 2 files changed, 24 insertions(+), 23 deletions(-) (limited to 'ATRI/plugins/status') diff --git a/ATRI/plugins/status/__init__.py b/ATRI/plugins/status/__init__.py index ee90c86..a8c532b 100644 --- a/ATRI/plugins/status/__init__.py +++ b/ATRI/plugins/status/__init__.py @@ -2,12 +2,16 @@ from nonebot import get_bot from ATRI import conf from ATRI.log import log +from ATRI.service import Service from ATRI.utils.apscheduler import scheduler from .data_source import Status -ping = Status().on_command("/ping", "检测bot简单信息处理速度") +stat = Service("状态").document("检查自身状态") + + +ping = stat.on_command("/ping", "检测bot简单信息处理速度") @ping.handle() @@ -15,7 +19,7 @@ async def _(): await ping.finish(Status.ping()) -status = Status().on_command("/status", "查看运行资源占用") +status = stat.on_command("/status", "查看运行资源占用") @status.handle() @@ -30,7 +34,7 @@ info_msg = "アトリは高性能ですから!" @scheduler.scheduled_job("interval", name="状态检查", minutes=10, misfire_grace_time=15) # type: ignore async def _(): log.info("开始检查资源消耗...") - msg, stat = Status().get_status() + msg, stat = Status.get_status() if not stat: log.warning(msg) diff --git a/ATRI/plugins/status/data_source.py b/ATRI/plugins/status/data_source.py index cede6cf..9bff1c3 100644 --- a/ATRI/plugins/status/data_source.py +++ b/ATRI/plugins/status/data_source.py @@ -4,30 +4,27 @@ import psutil from datetime import datetime from ATRI.service import Service -from ATRI.rule import is_in_service +from ATRI.message import MessageBuilder from ATRI.exceptions import GetStatusError -_status_msg = """ -> Status Overview +_STATUS_MSG = ( + MessageBuilder("> Status Overview"). + text("[CPU: {b_cpu}% of {p_cpu}%]") + .text("[Memory: {b_mem} of {p_mem}%]") + .text("[Disk usage: {p_disk}%]") + .text("") + .text("[Net sent: {inteSENT}MB]") + .text("[Net recv: {inteRECV}MB]") + .text("") + .text("[Bot runtime: {bot_time}]") + .text("[Platform runtime: {boot_time}]") + .text("{msg}") + .done() +) -[CPU: {b_cpu}% of {p_cpu}%] -[Memory: {b_mem} of {p_mem}%] -[Disk usage: {p_disk}%] - -[Net sent: {inteSENT}MB] -[Net recv: {inteRECV}MB] - -[Bot runtime: {bot_time}] -[Platform runtime: {boot_time}] -{msg} -""".strip() - - -class Status(Service): - def __init__(self): - Service.__init__(self, "状态", "检查自身状态", rule=is_in_service("状态")) +class Status: @staticmethod def ping() -> str: return "I'm fine." @@ -75,7 +72,7 @@ class Status(Service): else: is_ok = True - msg0 = _status_msg.format( + msg0 = _STATUS_MSG.format( p_cpu=cpu, p_mem=mem, p_disk=disk, -- cgit v1.2.3