大凯爺 发表于 2022-5-24 16:47

python设置定时任务

while True:
    nowTime=datetime.datetime.now().strftime('%H%M')
    if nowTime =='0523':
      break

用这种来做定时任务触发会导致cpu的无限消耗,有其他办法来实现吗?{:301_1007:}
请直接上代码{:301_986:}

醉红尘0 发表于 2022-5-24 16:47

我目前用的APScheduler模块,对cpu资源基本没有额外消耗
from apscheduler.schedulers.background import BackgroundScheduler

# 定义需要定制执行的函数
def my_job():
    print("myjob")

# 定义一个BlockingScheduler对象
sched = BlockingScheduler()

# 第一种方法,按时间间隔定时任务,下方的interval参数指明定时任务类型是指定间隔,后面的seconds=5是指5秒间隔,也可以用hour、minute等
sched.add_job(my_job, 'interval', seconds=5)

# 第二种方法,指定周期,如每周3的12:10执行,下方的cron参数指明定时任务类型是指定间隔,后面的参数指定周期
sched.add_job(my_job, 'cron', day_of_week='3', hour=12, minute=10)
sched.start()

参考页面:https://www.cnblogs.com/yblackd/p/13359769.html

kiopc 发表于 2022-5-24 20:01

醉红尘0 发表于 2022-5-24 17:02
我目前用的APScheduler模块,对cpu资源基本没有额外消耗
from apscheduler.sche ...

看了下介绍感觉还不错

kof21411 发表于 2022-5-24 20:07

用crontab不是更好吗
页: [1]
查看完整版本: python设置定时任务