apscheduler定时器的使用

一、依赖

pip install apscheduler

二、使用流程

1.使用方法

from apscheduler.schedulers.blocking import BlockingScheduler

  • ①生成一个定时器对象:sched = BlockingScheduler()
  • ②定时器对象中添加一个定时任务:sched.add_job(func, trigger=None, args=None, **trigger_args)
    • func:定时的任务函数
    • trigger:定时器类型
    • args:用来调用func的位置参数列表
  • ③开启定时器:sched.start()

2.不同trigger对应的不同的关键字参数

2.1 date
  • run_date(datetime | str)–运行作业的日期/时间,仅运行一次
    示例:
# 该作业将于2009年11月6日16:30:05执行
sched.add_job(my_job, 'date', run_date=datetime(2009, 11, 6, 16, 30, 5), args=['text'])
2.2 interval
  • weeks (int) – 等待的周数
  • days (int) – 等待的月数
  • hours (int) – 等待的小时数
  • minutes (int) – 等待的分钟数
  • seconds (int) – 等待的秒数t
  • start_date (datetime|str) – 间隔计算的起点
  • end_date (datetime|str) – 间隔计算的终点
  • timezone (datetime.tzinfo|str) – 时区
  • jitter (int|None) – 最多将作业执行延迟几秒钟

示例:

# 从2014年10月10日9:30开始,到2014年06月15日11:00结束,每两个小时执行一次
sched.add_job(job_function, 'interval', hours=2, start_date='2010-10-10 09:30:00', end_date='2014-06-15 11:00:00')
2.3 cron
  • year (int|str) – 四位数的年
  • month (int|str) – 1-12月
  • day (int|str) – 月份中的一天 (1-31)
  • week (int|str) – ISO week (1-53)
  • day_of_week (int|str) – 工作的日的编号名称 (0-6 or mon,tue,wed,thu,fri,sat,sun)
  • hour (int|str) – 小时 (0-23)
  • minute (int|str) – 分钟 (0-59)
  • second (int|str) – 秒 (0-59)
  • start_date (datetime|str) – 最早触发的日期/时间(包括)
  • end_date (datetime|str) – 结束任务的时间,默认该日期的00:00:00
  • timezone (datetime.tzinfo|str) – 用于日期/时间计算的时区(默认为调度程序时区)
  • jitter (int|None) – 最多将作业执行延迟几秒钟

注:
1.如果没有设置,默认为
表示:any,每一时间

2.在month和day_of_week接受英文简写月和星期名(jan-dec和mon-sun)

示例1:

#设置job_function在第三个星期五运行在6月、7月、8月、11月和12月的00:00、01:00、02:00和03:00
sched.add_job(job_function, 'cron', month='6-8,11-12', day='3rd fri', hour='0-3')

示例2:

#从周一到周五早上5:30,直到2014-05-30 00:00:00
sched.add_job(job_function, 'cron', day_of_week='mon-fri', hour=5, minute=30, end_date='2014-05-30')

3.示例

# 生成一个定时器对象
sched = BlockingScheduler()
# 定时器对象中添加一个定时任务
sched.add_job(run_spider, 'cron', day_of_week='mon-fri', hour=10, minute=36, end_date='2021-4-23 10:41:00')
开启定时器
sched.start()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值