Django通过Json配置文件分配多个定时任务

python 复制代码
	def load_config():
	    with open("rule.json", 'rb')as f:
	        config = json.load(f)
	    return config
	def job(task_name, config, time_interval):
	# 	...	通过task_name判断进行操作
		if task_name == 'get_data_times':
			pass

	def main():
	    config = load_config()
	
	    for task_name, task_value in config.items():
	        # 循环配置文件中配置的时间 启动定时任务			多少秒运行一次
	        if task_name.startswith('get_data') or task_name.startswith('get_internet'):
	            time_interval = int(task_value.replace('s', ''))
	            schedule.every(time_interval).seconds.do(job, task_name, config, time_interval)
	        elif task_name.endswith('_time'):
	        	# 多少分钟运行一次
	            time_interval = int(task_value.replace('min', ''))
	            time_intervals = time_interval + 1
	            schedule.every(time_interval).minutes.do(job, task_name, config, time_intervals)
			# 可以设置多个 时分秒 周月星期一到星期天 at
	    def run_jobs():
	        while True:
	            schedule.run_pending()
	            time.sleep(1)
	
	    thread = threading.Thread(target=run_jobs)
	    thread.start()
	
	if __name__ == '__main__':
	    import django, os
	    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "QsManagement.settings")
	    django.setup()
	    from app01.logger import logger
	    from app01.models import ComputerStatus, AlarmInfo, InterNetSpeed, WindowsError, ProductionLine, Machine, MachineType
	    from app01.methods import get_ip
	    main()

json配置文件 通过配置文件设置阈值,到达指定阈值报警

python 复制代码
	{
	  "get_data_times": "3min",
	  "get_internet_times": "3min",
	  "get_windows_error_time": "3min",
	
	  "cpu_time" : "1min",
	  "cpu_rate" : "90%",
	
	  "memory_time" : "1min",
	  "memory_rate" : "75%",
	
	  "gpu_time" : "1min",
	  "gpu_rate" : "50%",
	
	  "disk_times": "3min",
	  "C_disk_space": "50G",
	  "D_disk_space": "30G",
	  "E_disk_space": "50G",
	  "F_disk_space": "50G",
	  "G_disk_space": "50G",
	
	  "cpu_temperature":  "50度",
	  "temperature_time": "1min",
	
	  "internet_speed": "200ms",
	  "internet_time" : "1min"
	}
相关推荐
Java成神之路-1 天前
SpringMVC 响应实战指南:页面、文本、JSON 返回全流程(Spring系列13)
java·spring·json
leo_messi941 天前
2026版商城项目(三)-- ES+认证服务
后端·python·django
我命由我123451 天前
在 React 项目中,可以执行 npm start 命令,但是,无法执行 npm build 命令
前端·javascript·vue.js·react.js·前端框架·json·ecmascript
带刺的坐椅1 天前
RFC 9535:JSONPath 的标准化之路
java·json·jsonpath·snack4·rfc9535
毕胜客源码1 天前
改进yolov8的香蕉成熟度检测系统,改进前后的模型指标对比,有技术文档,支持图像、视频和摄像实时检测
人工智能·python·深度学习·yolo·django
孙同学20201 天前
如何将 JSON 数据转换为 Excel 工作表
python·json·excel
ID_180079054732 天前
除了 Python,还有哪些语言可以解析 JSON 数据?
开发语言·python·json
电商API&Tina2 天前
跨境电商如何接入1688官方寻源通接口?附接入流程
java·数据库·python·sql·oracle·json·php
Coding茶水间2 天前
基于深度学习的草莓健康度检测系统演示与介绍(YOLOv12/v11/v8/v5模型+Django+web+训练代码+数据集)
人工智能·深度学习·yolo·机器学习·django
源码之屋3 天前
计算机毕业设计:Python出行数据智能分析与预测平台 Django框架 可视化 数据分析 PyEcharts 交通 深度学习(建议收藏)✅
人工智能·python·深度学习·数据分析·django·汽车·课程设计