Your Name aaf5f59b59 feat: 改进定时任务管理并更新配置
- 在service_runner.py中添加进程ID记录功能
- 增强stop_scheduler.py以同时处理scheduler.py和sendmsg.py进程
- 修改sendmsg.py增加重试机制
- 更新配置文件路径和执行时间
2025-08-15 19:45:46 +08:00

39 lines
1.3 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import schedule
import time
import subprocess
import sys
import os
from datetime import datetime
from config import CONFIG
def run_sendmsg():
"""执行sendmsg.py脚本"""
script_path = os.path.join(os.path.dirname(__file__), 'sendmsg.py')
try:
print(f"[{datetime.now()}] 开始执行每日消息发送任务...")
result = subprocess.run([sys.executable, script_path],
capture_output=True, text=True, cwd=os.path.dirname(__file__))
if result.returncode == 0:
print(f"[{datetime.now()}] 任务执行成功")
else:
print(f"[{datetime.now()}] 任务执行失败: {result.stderr}")
except Exception as e:
print(f"[{datetime.now()}] 执行出错: {str(e)}")
def main():
"""主函数 - 设置定时任务"""
# 每天07:55执行任务
schedule.every().day.at(CONFIG['checking_time']).do(run_sendmsg)
print(f"[{datetime.now()}] 定时任务已启动将在每天07:55执行sendmsg.py")
print("按Ctrl+C停止程序")
try:
while True:
schedule.run_pending()
time.sleep(60) # 每分钟检查一次
except KeyboardInterrupt:
print(f"\n[{datetime.now()}] 定时任务已停止")
if __name__ == "__main__":
main()