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

Python schedule库设置每日定点执行任务启动后立即运行问题求解

问题根本原因

你在调用do()方法配置任务时,直接执行了目标函数:
do(getRegressionData(subredditList))写法会让Python在执行到这行代码时,立刻调用getRegressionData(subredditList),并把该函数的返回值传给do()方法,而非把函数本身注册为定时任务,这就是脚本启动后任务立刻执行的核心原因。

额外修正建议
  • schedule库默认使用系统本地时间,你不需要手动换算时区,at()方法支持传入tz参数直接指定目标时区,示例:schedule.every().day.at("00:00", tz="Etc/GMT+7")就可以直接匹配GMT-7时区的零点,避免手动换算出错。
  • 如果你坚持手动换算时间,只要保证at()方法传入的时间和你系统时区对应即可,不影响定时逻辑的执行。
正确代码示例
import schedule
import time

# 注册任务时,先传函数本身,函数的入参放在do方法的后续参数位置即可
schedule.every().day.at("00:00", tz="Etc/GMT+7").do(getRegressionData, subredditList)
while True:
    schedule.run_pending()
    time.sleep(1)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 22:06:06