这篇文章主要介绍“python包之APScheduler定时任务怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“python包之APScheduler定时任务怎么实现”文章能帮助大家解决问题。
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定时任务怎么实现”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。