APScheduler未执行Python代码

0 投票
1 回答
780 浏览
提问于 2025-04-18 00:03

我正在学习Python,最近在玩一个叫做高级调度器的东西。不过我现在还没搞明白怎么用。

import time
from datetime import datetime
from apscheduler.scheduler import Scheduler

sched = Scheduler(standalone=True)
sched.start()

#@sched.cron_schedule(second=5)
def s():
    print "hi"
sched.add_interval_job(s, seconds=10)
i=0
while True:
  print i
  i=i+1
  time.sleep(3)
sched.shutdown()

我觉得我肯定漏掉了什么基本的东西。有人能帮我指出来吗?

另外,你们觉得用crontab好还是用这个高级调度器好呢?我想让我的脚本每24小时运行一次。

谢谢!

1 个回答

0

独立模式意味着当你调用sched.start()时,程序会停下来等这个任务完成,所以在它下面的代码是不会被执行的。因此,首先要创建调度器,然后添加定时任务,最后再启动调度器。

至于定时任务,你可以用sched.add_cron_job(s, hour=0)来设置,这样每天午夜12点就会执行这个任务。

撰写回答