teddy 546ca9dfe2 feat: 添加定时任务后台运行和停止功能
新增service_runner.py用于后台运行定时任务,使用pythonw.exe实现无窗口运行
新增stop_scheduler.py用于停止后台定时任务进程
调整scheduler.py中的任务执行时间
2025-06-24 17:49:10 +08:00

38 lines
1.2 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
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():
"""主函数 - 设置定时任务"""
# 每天17:30执行任务
schedule.every().day.at("17:40").do(run_sendmsg)
print(f"[{datetime.now()}] 定时任务已启动将在每天17:30执行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()