apscheduler调度器类型:

BlockingScheduler 阻塞式调度器

BackgroudScheduler 非阻塞式后台调度器

AsyncIOScheduler

GeventScheduler

TornadoScheduler

TwistedScheduler

QtScheduler

#!usr/bin/env python
import time
import logging
from datetime import datetime
from apscheduler.schedulers.background import BackgroundScheduler


def func(trigger):
    print(trigger, datetime.now())


logging.getLogger('apscheduler').setLevel(logging.DEBUG)  # 调度器日志级别
scheduler = BackgroundScheduler()
time_now = datetime.now()
scheduler.add_job(func, 'cron', args=['cron'], hour=time_now.hour, minute=time_now.minute, second=time_now.second + 3)  # 定时调度
# max_instances表示最多启动几个任务实例,replace_existing表示新的实例是否替换仍未结束的旧实例
scheduler.add_job(func, 'interval', kwargs={'trigger': 'interval'}, seconds=1, max_instances=1, next_run_time=time_now)  # 循环调度
scheduler.start()
time.sleep(3)

print('暂停调度器')
scheduler.pause()  # 暂停调度器
time.sleep(3)

print('恢复调度器')
scheduler.resume()  # 恢复调度器
time.sleep(3)

print('停止调度器')
scheduler.shutdown(wait=False)  # 停止调度器,wait表示是否等待已经激活的任务完成再停止

 

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐