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

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

	def load_config():with open("rule.json", 'rb')as f:config = json.load(f)return configdef job(task_name, config, time_interval):# 	...	通过task_name判断进行操作if task_name == 'get_data_times':passdef 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 + 1schedule.every(time_interval).minutes.do(job, task_name, config, time_intervals)# 可以设置多个 时分秒 周月星期一到星期天 atdef run_jobs():while True:schedule.run_pending()time.sleep(1)thread = threading.Thread(target=run_jobs)thread.start()if __name__ == '__main__':import django, osos.environ.setdefault("DJANGO_SETTINGS_MODULE", "QsManagement.settings")django.setup()from app01.logger import loggerfrom app01.models import ComputerStatus, AlarmInfo, InterNetSpeed, WindowsError, ProductionLine, Machine, MachineTypefrom app01.methods import get_ipmain()

在这里插入图片描述

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.lryc.cn/news/295130.html

相关文章:

  • C++ 搜索二叉树的删除
  • 构建中国人自己的私人GPT—支持中文
  • elementui 回到顶部报错
  • go-carbon v2.3.8 发布,轻量级、语义化、对开发者友好的 golang 时间处理库
  • 【详解】斗地主随机发牌项目
  • 多账号运营为什么要使用动态住宅代理IP?
  • [C++] 如何使用Visual Studio 2022 + QT6创建桌面应用
  • Arduino 推出基于乐鑫 ESP32-S3 的 STEM 教育机器人
  • Blender使用Rigify和Game Rig Tool基础
  • 【Unity优化(一)】音频优化
  • 算法.1-三大排序算法-对数器-二分
  • Midjourney新功能介绍:风格参考(Style References)详解
  • C++ 11/14/17 智能指针
  • C++入门【37-C++ 拷贝构造函数】
  • [UI5 常用控件] 06.Splitter,ResponsiveSplitter
  • C遗漏知识(个人向)
  • ERR_SSL_VERSION_OR_CIPHER_MISMATCH
  • 2.5作业
  • linux系统lvs命令的使用
  • PoEAA笔记-7.分布策略
  • Spring Boot 整合 Redis 使用教程
  • 用友U8 Cloud ReportDetailDataQuery SQL注入漏洞复现(QVD-2023-47860)
  • docker镜像命令
  • 通义千问上线春节新应用,AI帮你免费拍全家福
  • RabbitMQ 安装
  • 如何让MySQL从部署到稳定运行?
  • go 内存二进制数据操作
  • Antd+React+react-resizable实现表格拖拽功能
  • StringBuilder类常用方法(Java)
  • Iceberg从入门到精通系列之二十一:Spark集成Iceberg