1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- from hub import Global, methods
- import os
- # --- for linux
- # save_dir = f'/home/server/logs'
- # --- for windows
- save_dir = r'C:\logs' # sri内网测试环境
- class JobManage(object):
- """"""
- # --- 接口认证信息 ---
- # username = '500A7062'
- # password = '198797#cjhxbin'
- @classmethod
- def run(cls):
- """启动全部任务"""
- # --- test ---
- # Global.aps.create_job(func=cls.job101, trigger='interval', seconds=3) # 循环测试
- # Global.aps.create_job(func=cls.job101, trigger='date', run_date='2022-02-23 18:54:00') # 定时测试
- # Global.aps.create_job(func=cls.job301, trigger='interval', seconds=60) # 循环测试
- # Global.aps.create_job(func=cls.job20102, trigger='date', run_date='2022-07-28 17:15:30') # 定时测试
- # --- release ---
- # Global.aps.create_job(func=cls.job101, trigger='cron', hour=22) # 每天晚10点
- Global.aps.create_job(func=cls.job101, trigger='interval', seconds=600) # 每10分钟
- # Global.aps.create_job(func=cls.job101, trigger='interval', seconds=300) # 每5分钟
- # Global.aps.create_job(func=cls.job101, trigger='interval', seconds=3600) # 每1小时
- @classmethod
- def end(cls):
- """暂停全部任务"""
- Global.aps.pause_all()
- @staticmethod
- def job101():
- """
- 每日22点清理7天之前的日志
- 每日22点清理1天之前的日志(测试)
- todo 根据UserWorkRecordList.start_at来判断过去7天的数据
- """
- # --- log ---
- methods.debug_log("JobManage|49", f"------------------------------ start")
- # --- get log_file_uuid_list ---
- log_file_list = methods.get_file_path_list(save_dir)
- log_file_name_list = [i.split('\\')[-1] for i in log_file_list]
- log_file_uuid_list = [i.split('.')[0] for i in log_file_name_list]
- # --- test ---
- for log_file_uuid in log_file_uuid_list:
-
- # --- check ---
- file_path = os.path.join(save_dir, f"{log_file_uuid}.log")
- item = Global.mdb.updage_one_by_id('UserWorkRecordList', log_file_uuid)
- if not item:
- methods.remove_file(file_path)
- # --- check ---
- now_at = methods.now_ts()
- if now_at > item.get('end_at') + 86400 * 1:
- methods.remove_file(file_path)
|