当前位置: 首页 > article >正文

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

	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配置文件 通过配置文件设置阈值,到达指定阈值报警

	{
	  "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"
	}

在这里插入图片描述


http://www.kler.cn/a/229797.html

相关文章:

  • Jmeter-压测时接口如何按照顺序执行
  • C#,图论与图算法,输出无向图“欧拉路径”的弗勒里(Fleury Algorithm)算法和源程序
  • Spring IoC DI 入门 和 使用
  • web服务器快速目录搜索遍历工具推荐:Dirsearch
  • 24下半年软考「单独划线」合格标准已公布!
  • 【HarmonyOS NEXT】鸿蒙应用实现屏幕录制详解和源码
  • 比较两次从接口获取的数据,并找出变动的字段
  • 071:vue中过滤器filters的使用方法(图文示例)
  • Z函数的原理和应用:以Python为例
  • 微信自动预约小程序开发指南:从小白到专家
  • HiSilicon352 android9.0 开机视频调试分析
  • Micro micro controller一览
  • window 安装 jenkins 编写脚本
  • Linux 网络:PTP 简介
  • 5-3、S曲线生成器【51单片机+L298N步进电机系列教程】
  • 解决:VSCode 连接服务器时出错:Could not establish connection to : XHR failed
  • Vivado-IP核
  • 挑战杯 python+opencv+机器学习车牌识别
  • Maven:设定项目编码
  • 全链游戏的未来趋势与Bridge Champ的创新之路
  • python进行批量搜索匹配替换文本文字的matlab操作实例
  • 【Mysql】事务的隔离级别与 MVCC
  • 【Qt学习笔记】(三)常用控件(持续更新)
  • 基于单片机的智能寻光小车设计
  • hbuiderX打包为apk后无法停止录音的解决方案
  • Hadoop:HDFS学习巩固——基础习题及编程实战