简单实现了一个定时任务执行功能,准备将session的超时删除纳入定时任务中,另外定时清除日志存储和每5分钟采集系统负载信息也可以用此方式实现了。

pull/105/head
Apex Liu 2017-12-11 20:07:57 +08:00
parent 9f673138c4
commit e8644b689d
2 changed files with 29 additions and 0 deletions

View File

@ -716,6 +716,28 @@ class DatabaseInit:
'CREATE TABLE `{}syslog` ({});'.format(self.db.table_prefix, ','.join(f))
)
def _create_sys_state(self):
""" 系统运行状态记录用于dashboard页面展示
系统每5分钟记录一次当前cpu负载/磁盘IO负载/网络IO负载/远程连接数用来显示曲线图
然后系统定时每天做一次清理操作将超过30天的数据清除掉
"""
f = list()
# id: 自增主键
f.append('`id` integer PRIMARY KEY {}'.format(self.db.auto_increment))
# type 数据类型1=cpu, 2=disk-io, 3=net-io, 4=remote-count
f.append('`type` int(11) DEFAULT 0')
# val: 记录的值
f.append('`val` int(11) DEFAULT 0')
# ts: 记录时间
f.append('`ts` int(11) DEFAULT 0')
self._db_exec(
'创建系统运行状态记录表...',
'CREATE TABLE `{}sys_state` ({});'.format(self.db.table_prefix, ','.join(f))
)
def _create_record(self):
""" 运维录像日志 """
f = list()

View File

@ -15,6 +15,7 @@ from app.base.configs import get_cfg
from app.base.db import get_db
from app.base.logger import log
from app.base.session import session_manager
from app.base.cron import tp_corn
class WebApp:
@ -131,11 +132,17 @@ class WebApp:
# 启动session超时管理
session_manager().start()
def job():
log.v('---job--\n')
tp_corn().add_job('test', job, first_interval_seconds=None, interval_seconds=10)
tp_corn().start()
try:
tornado.ioloop.IOLoop.instance().start()
except:
log.e('\n')
tp_corn().stop()
session_manager().stop()
return 0