APScheduler 的基本使用

APScheduler 是python的一个任务调度框架。
使用起来十分方便,提供了基于日期、固定时间间隔以及crontab类型的任务,并且可以持久化任务。

1. 安装

APScheduler下载
这里使用的是2.1.2

2. cron job例子

APScheduler是进程内的调度器,可以定时触发具体的函数,并且可以访问应用的所有变量和函数。在web应用中通过APScheduler实现定时任务是很方便的。

#coding:utf-8
import datetime
from apscheduler.scheduler import Scheduler  
#不使用守护线程  
schedudler = Scheduler(daemonic = False) 
#每周星期1-星期5,9点-12点、14点-15点,0分-59分,每3秒执行
@schedudler.cron_schedule(day_of_week='0-4', hour='9-12,14-15', minute='0-59', second='*/3')  
def quote_send_sh_job_1():  
    print 'a simple cron job start at (1)', datetime.datetime.now()  
@schedudler.cron_schedule(day_of_week='0-4', hour='9-12,14-15,17-18', minute='0-59', second='*/7')  
def quote_send_sh_job_2():  
    print 'a simple cron job start at (2)', datetime.datetime.now()  
    
schedudler.start()  

3. Store

APScheduler提供了jobstore用于存储job的执行信息,默认使用的是RAMJobStore,还提供了SQLAlchemyJobStore、ShelveJobStore和MongoDBJobStore。
APScheduler允许同时使用多个jobstore,通过别名(alias)区分,在添加job时需要指定具体的jobstore的别名,否则使用的是别名是default的jobstore,即RAMJobStore。
下面以MongoDBJobStore举例说明。

#coding:utf-8
import datetime
from apscheduler.scheduler import Scheduler  
import pymongo
from apscheduler.jobstores.mongodb_store import MongoDBJobStore
#不使用守护线程  
schedudler = Scheduler(daemonic = False)   
mongo = pymongo.Connection(host='127.0.0.1', port=27017)  
store = MongoDBJobStore(connection = mongo)  
schedudler.add_jobstore(store, 'mongo') #别名是mongo
@schedudler.cron_schedule(day_of_week='0-4', hour='9-12,13-15,16-18', minute='0-59', second='*/11', jobstore='mongo')
#2014年7月18日16点45分每11秒执行,直到46秒结束
#@schedudler.cron_schedule(year='2014', month='7', day='18', hour='16', minute='45', second='*/11', jobstore='mongo') #和别名mongo相同
def mongo_job_store():
    print 'mongo cron job store start at', datetime.datetime.now()  
    
schedudler.start()  

注意start()必须在添加job动作之后调用,否则会抛错。默认会把job信息保存在apscheduler数据库下的jobs表。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容