python 包之 APScheduler 定时任务
来源:脚本之家    时间:2022-04-19 08:55:03
目录
一、安装二、定时执行一次三、间隔执行四、每日定时执行一次五、每几分钟执行一次六、每小时执行一次七、调度器分类

一、安装

pip install apscheduler

二、定时执行一次

新建一个scheduler调度器添加一个job store调度任务运行调度任务
import datetime
from apscheduler.schedulers.blocking import BlockingScheduler

def task(name):
print("%s告诉你现在时间是:%s" . format(name, datetime.datetime.now()))

# 该任务将会在2022-05-20 13:14:52执行一次
scheduler = BlockingScheduler()
scheduler.add_job(task, "date", run_date=datetime.datetime(2022, 5, 20, 13, 14, 52), args=["autofelix"], id="task")
scheduler.start()

三、间隔执行

当你调度作业的时候,你需要为这个作业选择一个触发器,用来描述这个作业何时被触发date 一次性指定日期interval 在某个时间范围内间隔多长时间执行一次
from apscheduler.schedulers.blocking import BlockingScheduler

def task():
print("我是飞兔小哥")

# 每隔10秒数执行一次
scheduler = BlockingScheduler()
scheduler.add_job(task, "interval", seconds=10, id="task")
scheduler.start()

四、每日定时执行一次

cron 和Linux crontab格式兼容,最为强大
from apscheduler.schedulers.blocking import BlockingScheduler

f = open("status.text", "a", encoding="utf8")
sc = BlockingScheduler()
@sc.scheduled_job("cron", day_of_week="*", hour=1, minute="30", second="50")

if name == "__main__":
try:
sc.start()
f.write("定时任务成功执行")
except Exception as e:
sc.shutdown()
f.write("定时任务执行失败")
finally:
f.close()

五、每几分钟执行一次

/2:每隔2分钟执行一次/1:每隔1分钟执行一次
from apscheduler.schedulers.blocking import BlockingScheduler

def task():
print("你的任务每隔2分钟执行一次")

scheduler = BlockingScheduler()
scheduler.add_job(job1, "cron", minute="/2", id="task")
scheduler.start()

六、每小时执行一次

jitter:代表可以上下浮动的秒数
from apscheduler.schedulers.blocking import BlockingScheduler

def task():
print("你的任务每隔1小时执行一次")

scheduler = BlockingScheduler()
scheduler.add_job(task, "interval", hours=1, id="task")
# scheduler.add_job(task, "interval", hours=1, id="task", jitter=120)
scheduler.start()

七、调度器分类

BlockingScheduler : 当调度器是你应用中唯一要运行的东西时BackgroundScheduler : 当你没有运行任何其他框架并希望调度器在你应用的后台执行时使用(充电桩即使用此种方式)AsyncIOScheduler : 当你的程序使用了asyncio(一个异步框架)的时候使用GeventScheduler : 当你的程序使用了gevent(高性能的Python并发框架)的时候使用TornadoScheduler : 当你的程序基于Tornado(一个web框架)的时候使用TwistedScheduler : 当你的程序使用了Twisted(一个异步框架)的时候使用QtScheduler : 如果你的应用是一个Qt应用的时候可以使用

到此这篇关于python 包之 APScheduler 定时任务 的文章就介绍到这了,更多相关python APScheduler 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

关键词: 定时任务 希望大家 可以使用 上下浮动 多长时间

X 关闭

X 关闭