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

Python使用schedule模块运行定时任务到指定时长不生效问题

问题原因

你仅完成了调度任务的注册,没有启动schedule模块的任务轮询逻辑。schedule本身不会主动执行注册的任务,必须主动调用schedule.run_pending()方法检查并触发到期任务。
另外你原代码中from datetime import ... time导入的是datetime模块下的时间类,和用来做休眠的标准库time模块不是一个东西,需要单独导入标准库time避免命名冲突。

修正后可运行代码

import schedule
import time
from datetime import timedelta

def job():
    print('Hello World')

# 注册任务规则:每5秒执行1次,累计运行20秒后自动移除该任务
schedule.every(5).seconds.until(timedelta(seconds=20)).do(job)

# 启动轮询循环
while True:
    # 执行所有已到期的任务
    schedule.run_pending()
    # 降低空转CPU占用
    time.sleep(1)
    # 所有任务执行完毕后自动退出循环
    if not schedule.jobs:
        break

运行效果说明

代码启动后会依次在第5、10、15秒输出Hello World,到达20秒的截止时间后任务会被自动移除,循环退出,程序结束。

内容的提问来源于stack exchange,提问作者Leo Optimo II

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 05:36:02