python之APScheduler 定时任务
作者:互联网
一、APScheduler
APScheduler
全称Advanced Python Scheduler
作用为在指定的时间规则执行指定的作业。
- 指定时间规则的方式可以是间隔多久执行,可以是指定日期时间的执行,也可以类似Linux系统中Crontab中的方式执行任务。
- 指定的任务就是一个Python函数。
二、安装
pip install apscheduler
三、创建定时任务
- 创建一个任务 func
一个任务就是一个函数,或者异步函数
- 创建调度器 BlockingScheduler
BlockingScheduler是最基本的调度器,阻塞型的调度器
- 把任务添加到调度器中 add_job
参数一:任务名
参数二:触发器,使用的是interval间隔触发器
seconds:间隔时间,单位秒,没个几秒执行一次
args:所添加的任务的传入参数
- 启动定时任务
start
from datetime import datetime from apscheduler.schedulers.blocking import BlockingScheduler def func(name): now = datetime.now().strftime('%Y-%m-%d %H:%M:%S') print(now + f" Hello world, {name}") scheduler = BlockingScheduler() scheduler.add_job(func, 'interval', seconds=3, args=["desire"]) scheduler.start()
执行结果:
2022-05-19 16:28:51 Hello world, desire 2022-05-19 16:28:54 Hello world, desire 2022-05-19 16:28:57 Hello world, desire 2022-05-19 16:29:00 Hello world, desire 2022-05-19 16:29:03 Hello world, desire
四、调度器(schedulers)
BlockingScheduler
- 阻塞型调度器,最基本的调度器,调用start函数会阻塞当前线程,不能立即返回
- 适用于调度程序时进程中唯一运行的进程
- from apscheduler.schedulers.blocking import BlockingScheduler
BackgroundScheduler
后台运行调度器,调用start后主线程不会阻塞
适用于调度程序在应用程序的后台运行
from apscheduler.schedulers.background import BackgroundScheduler
AsyncIOScheduler
适用于使用了asyncio模块的应用程序
from apscheduler.schedulers.asyncio import AsyncIOScheduler
GeventScheduler
适用于使用gevent模块的应用程序
from apscheduler.schedulers.gevent import GeventScheduler
TwistedScheduler
适用于构建Twisted的应用程序
from apscheduler.schedulers.twisted import TwistedScheduler
QtScheduler:
适用于构建Qt的应用程序
from apscheduler.schedulers.qt import QtScheduler
TornadoScheduler
适用于构建Tornado的应用程序
from apscheduler.schedulers.tornado import TornadoScheduler
标签:desire,schedulers,apscheduler,python,调度,APScheduler,world,import,定时 来源: https://www.cnblogs.com/QiuPing-blog/p/16289022.html