APScheduler模块四大组件:

  触发器    triggers :用于设定触发任务的条件

    任务储存器 job

     stores:用于存放任务,把任务存放在内存或数据库中

  执行器    executors: 用于执行任务,可以设定执行模式为单线程或线程池

  调度器    schedulers: 把上方三个组件作为参数,通过创建调度器实例来运行

调度器组件详解

  根据开发需求选择相应的组件,下面是不同的调度器组件:

    BlockingScheduler

       阻塞式调度器:适用于只跑调度器的程序。

    BackgroundScheduler

    后台调度器:适用于非阻塞的情况,调度器会在后台独立运行。

    AsyncIOScheduler

       AsyncIO调度器,适用于应用使用AsnycIO的情况。

    GeventScheduler

       Gevent调度器,适用于应用通过Gevent的情况。

    TornadoScheduler

       Tornado调度器,适用于构建Tornado应用。

    TwistedScheduler

       Twisted调度器,适用于构建Twisted应用。

    QtScheduler

    Qt调度器,适用于构建Qt应用。

配置一个任务,

  设置一个任务触发器。触发器可以设定任务运行的周期、次数和时间。APScheduler有三种内置的触发器:

  date 日期:触发任务运行的具体日期

  interval 间隔:触发任务运行的时间间隔

  cron 周期:触发任务运行的周期

栗子:
  
from apscheduler.schedulers.blocking import BlockingScheduler
import datetime,os,threading
def func():
    print('%s,%s,%s,%s'%((datetime.datetime.now()),'hello',os.getppid(),os.getpid()))

if __name__ =='__main__':
    apsched = BlockingScheduler()
    apsched.add_job(func,'interval',seconds=5)  #间隔调度interval

    # apsched.add_job(func,'cron',day_of_week='mon-fri',minute='*',second='*/3')  #定时调度cron
    apsched.start()
View Code
  
 
 
12-24 09:06