python 定时任务

目录

一、周期任务:每隔一段时间执行一次

二、定时任务:固定日期时间执行


pip install APScheduler
BlockingScheduler:当调度器是程序中唯一运行的东西时使用,阻塞式。
BackgroundScheduler:当调度器需要后台运行时使用。
AsyncIOScheduler:当程序使用 asyncio 框架时使用。
GeventScheduler:当程序使用 gevent 框架时使用。
TornadoScheduler:当构建 Tornado 程序时使用
TwistedScheduler:当构建 Twisted 程序时使用
QtScheduler:当构建 Qt 程序时使用

MemoryJobStore:使用内存存储
MongoDBJobStore:使用 MongoDB 存储
RedisJobStore:使用 redis 存储
RethinkDBJobStore:使用 rethinkdb 存储
SQLAlchemyJobStore:使用 ORM 框架 SQLAlchemy,后端可以是 sqlite、mysql、PoatgreSQL 等数据库
ZooKeeperJobStore:使用 zookeeper 存储


date:在某个特定时间仅运行一次 job 时使用
interval:当以固定的时间间隔运行 job 时使用
cron:当在特定时间定期运行 job 时使用

 

一、周期任务:每隔一段时间执行一次

from datetime import datetime
from apscheduler.schedulers.blocking import BlockingScheduler

if __name__ == '__main__':
    """
    周期性任务:每1秒执行一次(BlockingScheduler阻塞式)
    """
    scheduler = BlockingScheduler()
    scheduler.add_job(lambda: print(datetime.now()), 'interval', seconds=1)
    scheduler.start()

二、定时任务:固定日期时间执行

from datetime import datetime
from apscheduler.schedulers.blocking import BlockingScheduler

if __name__ == '__main__':
    """
    定时任务:每天的早上10:07执行任务(BlockingScheduler阻塞式)
    

主要参数: year:年 month:月 day:日 week:周,一年中的第多少周,1-53 day_of_week:星期,0-6 或者 mon,tue,wed,thu,fri,sat,sun hour:时 minute:分 second:秒 start_date:开始时间 end_date:结束时间

""" scheduler = BlockingScheduler() scheduler.add_job(lambda: print(datetime.now()), 'cron', hour=10, minute=7, second=0) scheduler.start()

参考文档:Python 定时任务框架 APScheduler 详解 - leffss - 博客园

你可能感兴趣的:(python,python,APScheduler)