Windows定时任务 每隔一段时间(最小到秒级)执行一次指定的Python脚本

news/2025/10/18 23:03:04/文章来源:https://www.cnblogs.com/baixiuhua/p/19148530

脚本 service_check_admin.py

import requests
import subprocess
import sys
import os
import logging
from time import sleep# 配置日志 - 记录到文件以便后台运行时查看
LOG_FILE = "service_monitor1.log"
logging.basicConfig(level=logging.INFO,format='%(asctime)s - %(levelname)s - %(message)s',handlers=[logging.FileHandler(LOG_FILE),logging.StreamHandler(sys.stdout)  # 保留控制台输出(后台运行时不可见)]
)
logger = logging.getLogger(__name__)# 服务配置
SERVICE_URLS = ["http://127.0.0.1:8089/index.html"# "http://127.0.0.1:9999"
]
JAR_COMMAND = r"java -jar E:\qaml\datax\dataxweb\datax-admin-2.1.2.jar"  # 修改为你的JAR路径
# JAR_COMMAND = r"java -jar E:\qaml\datax\dataxweb\datax-executor-2.1.2.jar"
TIMEOUT = 10  # 请求超时时间(秒)
MAX_RETRIES = 2  # 检测失败时的重试次数
RETRY_DELAY = 5  # 重试间隔(秒)def check_service(url):"""检查单个服务的可用性"""try:response = requests.get(url, timeout=TIMEOUT)if response.status_code == 200:logger.info(f"服务正常: {url}")return Trueelse:logger.warning(f"服务响应异常: {url} (状态码: {response.status_code})")return Falseexcept requests.exceptions.RequestException as e:logger.error(f"服务连接失败: {url} - {str(e)}")return Falsedef check_all_services():"""检查所有服务的可用性(带重试机制)"""logger.info("开始服务健康检查...")for attempt in range(1, MAX_RETRIES + 1):all_ok = Truefor url in SERVICE_URLS:if not check_service(url):all_ok = Falsebreak  # 发现一个失败就停止检查其他URLif all_ok:logger.info(f"所有服务运行正常 (尝试 {attempt}/{MAX_RETRIES})")return Trueif attempt < MAX_RETRIES:logger.warning(f"检测失败,{RETRY_DELAY}秒后重试 ({attempt}/{MAX_RETRIES})")sleep(RETRY_DELAY)logger.error(f"所有 {MAX_RETRIES} 次尝试均失败")return Falsedef start_jar_service():"""在Windows后台启动JAR服务(无窗口)"""logger.info("尝试启动JAR服务...")try:# 使用Windows特有的CREATE_NO_WINDOW标志startupinfo = subprocess.STARTUPINFO()startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOWstartupinfo.wShowWindow = 0  # 0 = SW_HIDE (隐藏窗口)process = subprocess.Popen(JAR_COMMAND,stdout=open("jar_output1.log", "w"),stderr=open("jar_error1.log", "w"),startupinfo=startupinfo,creationflags=subprocess.CREATE_NO_WINDOW)logger.info(f"JAR服务已启动 (PID: {process.pid})")return Trueexcept Exception as e:logger.error(f"启动JAR服务失败: {str(e)}")return Falsedef main():"""主函数:执行一次完整的健康检查和必要的重启"""if check_all_services():logger.info("服务状态正常,无需操作")sys.exit(0)  # 正常退出else:logger.warning("检测到服务异常,尝试重启...")if start_jar_service():logger.info("服务重启成功")sys.exit(1)  # 异常但已处理else:logger.error("服务重启失败")sys.exit(2)  # 异常且处理失败if __name__ == "__main__":logger.info("====== 服务检测开始 ======")main()logger.info("====== 服务检测结束 ======")

 bat执行文件:start_check_admin.bat

@echo off
echo 进度 100% 已完成 >> status.log
start /B pythonw "D:\datax\dataxweb\service_check_admin.py"
exit

 

image

 

image

 

image

 

image

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/939048.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入解析米尔全志T536核心板的实时性技术突破

各位工程师同仁,今天咱们聊点硬核的——实时性。这不是那种"差不多就行"的性能指标,在工业控制、机器人运动、电力保护这些领域,实时性就是生命线。想象一下:工业机器人抓取精密元件时,哪怕几毫秒的延迟…

2025年西安买房终极指南:十大热门楼盘排名揭秘

摘要 随着西安城市化进程加速和教育资源的优化,2025年西安房地产市场持续火热,特别是学区房、地铁口楼盘和第四代住宅成为购房者关注焦点。本文基于行业数据和用户搜索意图,精选十大高性价比楼盘排名,为潜在购房者…

PHPMyAdmin上传SQL文件报错:413 Request Entity Too Large

PHPmyAdmin后台,上传SQL文件时,报错:413 Request Entity Too Large。检查系统环境: 小皮面板 PHP7.2.9 Mysql5.7.26 分析: 此报错一般为上传的SQL文件过大导致,检查PHP的上传参数设置, 实际上传文件大小:166MB…

Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10

Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 发布 Nessus 试用版自动化安装程序,支…

2025 年电动球阀厂家最新推荐榜:覆盖智能灌溉、物联网、远程控制等场景,深度解析行业优质企业及选择指南

随着现代农业智能化、智慧水利数字化进程加速,电动球阀作为核心控制设备,在灌溉、工业控制等领域的需求激增。但当前市场中,产品兼容性不足、质量参差不齐、售后服务缺失等问题频发,不少用户在选购时面临 “选品难…

ROS 2什么是QoS?

导航 ROS 2 的 QoS(Quality of Service)策略通过多维度组合,实现对通信质量的精准控制。合理配置 QoS 对机器人系统的可靠性、实时性和资源利用至关重要。 本文将按策略维度整理核心策略及应用场景,并给出组合示例…

接触式位移波形优化

10/16 led dac=300,波形间距如下:波形有缺角,求得间距为 46.587 62.034 46.648 52.543led dac=900,波形间距如下:明显可见波形高耸起来,因为接收的能量更多,求得间距为计算宽度=212计算宽度=220led dac=2000,:翻…

VMware Workstation Fusion 25H2:采用日历版本命名与全新功能

VMware Workstation & Fusion 25H2:采用日历版本命名与全新功能VMware Workstation & Fusion 25H2:采用日历版本命名与全新功能 VMware Fusion 25H2 for Mac - 领先的免费桌面虚拟化软件 适用于基于 Intel 处…

Nessus Professional 10.10 Auto Installer for macOS Tahoe

Nessus Professional 10.10 Auto Installer for macOS TahoeNessus Professional 10.10 Auto Installer for macOS Tahoe 发布 Nessus 试用版自动化安装程序,支持 macOS Tahoe、RHEL 10、Ubuntu 24.04 和 Windows 请访…

常见英语翻译汉语

英语 汉语trailer尾部(trailer) 通常指文件、数据包或信息末尾的附加信息(如校验信息、元数据)。

CSP-S模拟33

CSP-S模拟33 A. Divisors (div) 给定 \(m\) 个不同的正整数 \(a_1,a_2,\dots a_m\),请对 \(0\) 到 \(m\) 每一个 \(k\) 计算,在区间 \([1,n]\) 里有多少正整数是 \(a\) 中恰好 \(k\) 个数的约数。 签到题。直接暴力分…

2025年木饰面板行业Top10供应商终极评测及选择指南

摘要 木饰面板行业在2025年持续增长,得益于环保政策和消费升级,市场规模预计达到百亿元。本文基于行业数据和技术参数,评测国内顶尖木饰面板供应商,帮助用户高效选择。排名综合了品牌口碑、产品优势和服务案例,并…

【活动预告】2025斗拱开发者大会,共探支付与AI未来

当 10 月 24 日 —— 这个专属程序员的节日如约而至,这份“用代码改变世界”的热爱,将被赋予更特别的意义。 数字技术、AI和区块链,每一次行业变革的背后,都来自开发者们的探索与深耕。开发者是技术落地的“摆渡人…

2025年口碑好的石材源头厂家排行榜:十大优质供应商全面解析

摘要 随着建筑装饰行业的快速发展,石材市场需求持续增长,优质石材供应商成为行业关注的焦点。本文基于市场调研和用户反馈,为您呈现2025年石材源头厂家排名前十榜单,帮助您快速找到可靠的石材供应商。文末附有详细…

2025年口碑最佳的石材生产厂家Top10排名

摘要 石材行业在2025年持续增长,随着建筑和装修市场的扩张,消费者对石材供应商的口碑、质量和可靠性需求日益提升。本文基于行业数据和用户反馈,整理了当前口碑最好的石材生产厂家排名,为读者提供参考。排名综合考…

2025 年调节阀厂家最新推荐榜:衬氟 / 气动 / 电动全类型技术领先企业权威盘点,采购优选指南

引言在石油、化工、医药等关键行业中,调节阀作为流体控制核心部件,其耐腐蚀性能与可靠性直接决定生产安全与效率。然而当前市场超 8000 家阀门企业中,70% 为中小型企业,部分存在材质以次充好、工艺简化等问题,强腐…

2025秋_14

今天学习了Java

2025 年最新衬氟球阀实力厂家排行榜:聚焦气动 F46 电动三通美标等类型,优选技术质量双优企业电动/三通/美标/耐腐蚀衬氟球阀厂家推荐

在石油、化工、医药、污水处理等关键行业的生产流程中,衬氟球阀作为输送强腐蚀介质的核心设备,其性能稳定性与质量可靠性直接决定生产安全与效率。当前市场上,衬氟球阀产品品类繁杂,既有具备核心技术的优质厂家,也…

数学工作者

数学工作者本文来自博客园,作者:willeywindsor,转载请注明原文链接:https://www.cnblogs.com/willeywindsor/p/19148450

豆包生成图片去除水印

点击图片,变清晰右键另存长风破浪会有时,直挂云帆济沧海! 可通过下方链接找到博主 https://www.cnblogs.com/judes/p/10875138.html