简介                

APScheduler的全称是Advanced Python Scheduler。它是一个轻量级的基于Quartz的 Python 定时任务调度框架。APScheduler 支持三种调度任务:固定时间间隔,固定时间点(日期),Linux 下的 Crontab 命令。同时,它还支持异步执行、后台执行调度任务。

github:https://github.com/agronholm/apscheduler

官网文档:https://apscheduler.readthedocs.io/en/latest/

组成                

APScheduler整个系统可以说由这五个概念组成:调度器(scheduler),作业存储(job store),触发器(trigger),执行器(executor),任务(job)。

使用                

import time
from apscheduler.schedulers.background import BackgroundScheduler def job_func(name):
print name if __name__ == '__main__':
# 创建后台执行的 schedulers
scheduler = BackgroundScheduler() # 每隔3分钟执行一次 job_func 方法
scheduler.add_job(job_func, 'interval', minutes=3, args=['jack!'])
# 每隔3天17时19分07秒执行一次任务
scheduler.add_job(job_func, 'interval', days=03, hours=17, minutes=19, seconds=07, args=['jack!'])
# 在 2017-12-13 14:00:01 ~ 2017-12-13 14:00:10 之间, 每隔两分钟执行一次 job_func 方法
scheduler.add_job(job_func, 'interval', minutes=2, start_date='2017-12-13 14:00:01' , end_date='2017-12-13 14:00:10') # 每天五点执行
scheduler.add_job(job_func, 'cron', hour='5', minute='00', second='00', args=['jack!'])
# 每周周五六点执行
scheduler.add_job(job_func, 'cron', day_of_week='fri', hour=14, minute=22, args=['jack!'])
# 在每年 1-3、7-9 月份中的每个星期一、二中的 00:00, 01:00, 02:00 和 03:00 执行 job_func 任务
scheduler.add_job(job_func, 'cron', month='1-3,7-9',day='0, tue', hour='0-3') # 在 2017-12-13 时刻运行一次 job_func 方法
scheduler.add_job(job_func, 'date', run_date=date(2017, 12, 13), args=['jack!'])
# 在 2017-12-13 14:00:00 时刻运行一次 job_func 方法
scheduler.add_job(job_func, 'date', run_date=datetime(2017, 12, 13, 14, 0, 0), args=['jack!'])
# 在 2017-12-13 14:00:01 时刻运行一次 job_func 方法
scheduler.add_job(job_func, 'date', run_date='2017-12-13 14:00:01', args=['jack!']) # 启动调度任务
scheduler.start()
while True:
time.sleep(5)

参考:https://www.jianshu.com/p/ad2c42245906

参考:https://www.cnblogs.com/shhnwangjian/p/7877985.html

参考:https://www.cnblogs.com/yueerwanwan0204/p/5480870.html

参考:https://blog.csdn.net/caiguoxiong0101/article/details/50364236

Python—定时任务(APScheduler实现)的更多相关文章

  1. python 定时任务APScheduler 使用介绍

    python 定时任务APScheduler 使用介绍   介绍: APScheduler的全称是Advanced Python Scheduler.它是一个轻量级的 Python 定时任务调度框架. ...

  2. python定时任务APScheduler

    APScheduler定时任务 APScheduler 支持三种调度任务:固定时间间隔,固定时间点(日期),Linux 下的 Crontab 命令.同时,它还支持异步执行.后台执行调度任务. 一.基本 ...

  3. python 定时任务apscheduler的使用

    apscheduler 的使用   我们项目中总是避免不了要使用一些定时任务,比如说最近的项目,用户点击报名考试以后需要在考试日期临近的时候推送小程序消息提醒到客户微信上,翻了翻 fastapi 中的 ...

  4. Python定时任务框架APScheduler 3.0.3 Cron示例

    APScheduler是基于Quartz的一个Python定时任务框架,实现了Quartz的所有功能,使用起来十分方便.提供了基于日期.固定时间间隔以及crontab类型的任务,并且可以持久化任务.基 ...

  5. Python定时任务框架APScheduler

    http://blog.csdn.net/chosen0ne/article/details/7842421 APScheduler是基于Quartz的一个Python定时任务框架,实现了Quartz ...

  6. [转]Python定时任务框架APScheduler

    APScheduler是基于Quartz的 一个Python定时任务框架,实现了Quartz的所有功能,使用起来十分方便.提供了基于日期.固定时间间隔以及crontab类型的任务,并且可以 持久化任务 ...

  7. Python定时任务-schedule vs. Celery vs. APScheduler

    在Python开发过程中我们经常需要执行定时任务,而此类任务我们通常有如下选项: 自己造轮子 使用schedule库 使用Celery定时任务 使用APScheduler 自己造轮子实现,最大的优势就 ...

  8. Python使用APScheduler实现定时任务

    APScheduler是基于Quartz的一个Python定时任务框架.提供了基于日期.固定时间间隔以及crontab类型的任务,并且可以持久化任务.在线文档:https://apscheduler. ...

  9. Python 定时任务框架 APScheduler 详解

    APScheduler 最近想写个任务调度程序,于是研究了下 Python 中的任务调度工具,比较有名的是:Celery,RQ,APScheduler. Celery:非常强大的分布式任务调度框架 R ...

  10. python 定时任务框架apscheduler

    文章目录 安装 基本概念介绍 调度器的工作流程 实例1 -间隔性任务 实例2 - cron 任务 配置调度器 方法一 方法二 方法三: 启动调度器 方法一:使用默认的作业存储器: 方法二:使用数据库作 ...

随机推荐

  1. [TimLinux] 系统配置 CentOS7配置Samba

    1. 安装软件 yum install -y samba samba-client samba-common 2. 配置用户 useradd tim passwd tim # 设置用户登录密码 smb ...

  2. HDU1079 Calender Game

    Adam and Eve enter this year’s ACM International Collegiate Programming Contest. Last night, they pl ...

  3. ARTS-S c语言统计程序运行时间

    #include <stdio.h> #include <sys/time.h> #include <unistd.h> int main() { struct t ...

  4. 云服务器+域名+hexo 搭建博客

    1 阿里云服务器安全组规则中启用80,4000,22端口, 记得出方向也要设置,否则... 2 域名指向服务器ip 3 安装git yum install git 4 安装node.js 下载地址为: ...

  5. git 中的 merge 和 rebase

    示例分支:master . dev 把 dev 分支上的新内容合并到 master 上 先切换分支到master git checkout master 合并操作 git merge dev 或者 g ...

  6. Linux搭建rsync服务

    一.Rsync的简单介绍 Rsync是一款开源的.快速的.多功能的.可实现全量及增量(全量备份是指全部备份,增量备份是在上一次备份的基础上只备份更新的内容)的本地货远程数据同步备份的优秀工具.Rsyn ...

  7. jdk13-新特性预览

    一新特性 350: Dynamic CDS Archives(动态CDS档案) 351: ZGC: Uncommit Unused Memory(ZGC:取消提交未使用的内存) 353: Reimpl ...

  8. 我的chrome 智能扩展插件copier开源了!!!

    整理了下之前写的chrome-extensions-copier,分享给大家. 这个插件呢,主要用来在chrome浏览器上复制某些网站的某些特定内容,主要是用来复制代码,提高效率!(没办法,某些网站不 ...

  9. Asp.Net MVC中记录错误日志保存到本地txt文件

    为了方便查询系统出错弄个错误日志出来对于维护运维来说是很有必要的. 1.在Asp.Net MVC项目中的App_Start添加一个用于处理异常类的文件ErrorLog让他继承HandleErrorAt ...

  10. HTTP_header安全选项(浅谈)

    HTTP报文头-安全问题 Mirror王宇阳 2019-10-01 参考:MDN技术文档:<http头安全相关的选项_by`myh0st> 认识HTTP协议 https://www.cnb ...