You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现Python脚本持续运行:每小时执行msg_work请求、每日执行msg_daily请求

解决方案

你的初始代码会无限循环同时发送两个请求,完全没有时间间隔,自然达不到按小时/天定时发送的需求。下面给你两种可行的实现方式:

方法一:用time.sleep+时间戳控制(无需额外依赖)

这种方式通过记录每次发送的时间戳,计算下次等待时长,避免长时间运行后的误差累积。

import time
import requests

# 请替换成你的实际配置
url = "你的目标接口地址"
auth = {"Authorization": "你的认证信息"}
msg_work = {"key": "每小时发送的消息内容"}
msg_daily = {"key": "每日发送的消息内容"}

def main():
    # 初始化上次发送时间,确保脚本启动时立即发送一次
    last_hourly_send = time.time()
    last_daily_send = time.time()
    
    while True:
        now = time.time()
        
        # 每小时发送一次msg_work
        if now - last_hourly_send >= 3600:
            requests.post(url, headers=auth, data=msg_work)
            last_hourly_send = now
        
        # 每24小时发送一次msg_daily
        if now - last_daily_send >= 86400:
            requests.post(url, headers=auth, data=msg_daily)
            last_daily_send = now
        
        # 每次循环休眠1分钟,避免占用过多CPU资源
        time.sleep(60)

if __name__ == '__main__':
    main()

方法二:用schedule库(更简洁易读)

如果觉得手动处理时间太麻烦,可以用专门的定时任务库schedule,先通过pip install schedule安装:

import schedule
import time
import requests

# 替换成你的实际配置
url = "你的目标接口地址"
auth = {"Authorization": "你的认证信息"}
msg_work = {"key": "每小时发送的消息内容"}
msg_daily = {"key": "每日发送的消息内容"}

# 定义发送函数
def send_hourly_msg():
    requests.post(url, headers=auth, data=msg_work)

def send_daily_msg():
    requests.post(url, headers=auth, data=msg_daily)

def main():
    # 设置定时规则
    schedule.every().hour.do(send_hourly_msg)
    schedule.every().day.do(send_daily_msg)
    
    # 可选:启动时立即发送一次,避免等待第一个周期
    send_hourly_msg()
    send_daily_msg()
    
    # 持续运行任务调度
    while True:
        schedule.run_pending()
        time.sleep(1)

if __name__ == '__main__':
    main()

额外提示

  • 可以给请求添加try-except捕获异常,比如网络错误,防止脚本因为一次请求失败就崩溃。
  • 如果需要脚本长期稳定运行,建议用系统服务托管(比如Linux的systemd、Windows的任务计划),避免关闭终端后脚本停止。

内容的提问来源于stack exchange,提问作者deadinsideclown

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 06:25:24