mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-09-11 12:19:41 +00:00
perf: 优化消息通知 (#7024)
* perf: 优化系统用户列表 * stash * perf: 优化消息通知 * perf: 修改钉钉 * perf: 修改优化消息通知 * perf: 修改requirements * perf: 优化datetime Co-authored-by: ibuler <ibuler@qq.com>
This commit is contained in:
@@ -11,7 +11,7 @@ from django_celery_beat.models import (
|
||||
PeriodicTask, IntervalSchedule, CrontabSchedule, PeriodicTasks
|
||||
)
|
||||
|
||||
from common.utils.timezone import now
|
||||
from common.utils.timezone import local_now
|
||||
from common.utils import get_logger
|
||||
|
||||
logger = get_logger(__name__)
|
||||
@@ -52,7 +52,7 @@ def create_or_update_celery_periodic_tasks(tasks):
|
||||
interval = IntervalSchedule.objects.filter(**kwargs).first()
|
||||
if interval is None:
|
||||
interval = IntervalSchedule.objects.create(**kwargs)
|
||||
last_run_at = now()
|
||||
last_run_at = local_now()
|
||||
elif isinstance(detail.get("crontab"), str):
|
||||
try:
|
||||
minute, hour, day, month, week = detail["crontab"].split()
|
||||
|
@@ -24,13 +24,6 @@ class ServerPerformanceMessage(SystemMessage):
|
||||
'message': self._msg
|
||||
}
|
||||
|
||||
def get_text_msg(self) -> dict:
|
||||
subject = self._msg[:80]
|
||||
return {
|
||||
'subject': subject.replace('<br>', '; '),
|
||||
'message': self._msg.replace('<br>', '\n')
|
||||
}
|
||||
|
||||
@classmethod
|
||||
def post_insert_to_db(cls, subscription: SystemMsgSubscription):
|
||||
admins = User.objects.filter(role=User.ROLE.ADMIN)
|
||||
@@ -38,6 +31,20 @@ class ServerPerformanceMessage(SystemMessage):
|
||||
subscription.receive_backends = [BACKEND.EMAIL]
|
||||
subscription.save()
|
||||
|
||||
@classmethod
|
||||
def gen_test_msg(cls):
|
||||
alarm_messages = []
|
||||
items_mapper = ServerPerformanceCheckUtil.items_mapper
|
||||
for item, data in items_mapper.items():
|
||||
msg = data['alarm_msg_format']
|
||||
max_threshold = data['max_threshold']
|
||||
value = 123
|
||||
msg = msg.format(max_threshold=max_threshold, value=value, name='Fake terminal')
|
||||
alarm_messages.append(msg)
|
||||
|
||||
msg = '<br>'.join(alarm_messages)
|
||||
return cls(msg)
|
||||
|
||||
|
||||
class ServerPerformanceCheckUtil(object):
|
||||
items_mapper = {
|
||||
@@ -50,21 +57,21 @@ class ServerPerformanceCheckUtil(object):
|
||||
'default': 0,
|
||||
'max_threshold': 80,
|
||||
'alarm_msg_format': _(
|
||||
'[Disk] Disk used more than {max_threshold}%: => {value} ({name})'
|
||||
'Disk used more than {max_threshold}%: => {value} ({name})'
|
||||
)
|
||||
},
|
||||
'memory_used': {
|
||||
'default': 0,
|
||||
'max_threshold': 85,
|
||||
'alarm_msg_format': _(
|
||||
'[Memory] Memory used more than {max_threshold}%: => {value} ({name})'
|
||||
'Memory used more than {max_threshold}%: => {value} ({name})'
|
||||
),
|
||||
},
|
||||
'cpu_load': {
|
||||
'default': 0,
|
||||
'max_threshold': 5,
|
||||
'alarm_msg_format': _(
|
||||
'[CPU] CPU load more than {max_threshold}: => {value} ({name})'
|
||||
'CPU load more than {max_threshold}: => {value} ({name})'
|
||||
),
|
||||
},
|
||||
}
|
||||
|
Reference in New Issue
Block a user