文章内容

2019/1/15 16:20:45,作 者: 黄兵

Python任务调度模块APScheduler

最近需要定时执行任务,可以这样写:

while True:
    # 具体实现功能代码 
    time.sleep(5)

这样写没什么问题,但是存在一个问题,如果有多个函数或者事件就处理起来很麻烦,定时执行也无能为力。

这样就需要第三方库来作为支持。

研究了一下,可以使用APScheduler和schedule还有Celery都可以实现这些功能,APScheduler和schedule功能都差不多,具体可以看下面的参考资料。

多说无意,开始上代码:

if __name__ == '__main__':
    # 实例化一个调度器
    scheduler = BlockingScheduler()

    scale_ip = Anti_Web_Scraping()
    clean_counter = Save_Redis_Original_Data()
    # 添加任务并设置触发方式为2小时执行一次
    scheduler.add_job(scale_ip.get_counter, 'interval', seconds=7200)
    # 每天6:00执行
    scheduler.add_job(clean_counter.clean_counters, 'cron', hour=6, minute=00)
    # 开始运行调度器
    scheduler.start()

这样就可以同时满足两个条件了,一个是间隔时间执行,一个是定时执行。

具体代码含义下面的参考资料都有详细的介绍,在此不多说。

有问题欢迎大家下面留言。


参考资料:

APScheduler :Python任务调度模块APScheduler

schedule:python任务调度之schedule


黄兵个人博客原创。

转载请注明出处:黄兵个人博客 - Python任务调度模块APScheduler

分享到:

发表评论

评论列表