代码改变世界

pyhton 定时任务

2021-08-17 11:46  火的天堂  阅读(49)  评论(0编辑  收藏  举报

主要使用的是apscheduler   

这个通过创建定时任务JOB   

以及使用【apscheduler】创建【BlockingScheduler】  

再把JOB添加进入定时任务中,以及设置触发时间

1)interval触发器:

想要在固定的时间间隔触发事件。 interval的触发器可以设置以下的触发参数:

  1. weeks :周。整形。
  2. days :一个月中的第几天。整形。
  3. hours :小时。整形。
  4. minutes :分钟。整形。
  5. seconds :秒。整形。
  6. start_date :间隔触发的起始时间。
  7. end_date :间隔触发的结束时间。
  8. jitter :触发的时间误差。

 

2)date触发器:

在某个日期时间只触发一次事件

run_date 

 

3)crontab触发器:

在某个确切的时间周期性的触发事件。可以使用的参数如下:

  1. year :4位数字的年份。
  2. month :1-12月份。
  3. day :1-31日。
  4. week :1-53周。
  5. day_of_week :一个礼拜中的第几天( 0 - 6 或者 mon 、 tue 、 wed 、 thu 、 fri 、 sat 、 sun )。
  6. hour : 0 - 23 小时。
  7. minute : 0 - 59 分钟。
  8. second : 0 - 59 秒。
  9. start_date : datetime 类型或者字符串类型,起始时间。
  10. end_date : datetime 类型或者字符串类型,结束时间。
  11. timezone :时区。
  12. jitter :任务触发的误差时间。
 1 from datetime import datetime
 2 from apscheduler.schedulers.blocking import BlockingScheduler
 3 import requests
 4 import os
 5 
 6 def job():
 7     print(datetime.now().strftime('%Y-%m-%d %H:%M'))
 8     requests.post(URI)
 9 
10 if __name__ == '__main__':
11     schedu = BlockingScheduler()
12     schedu.add_job(job, 'interval', minutes=20)
13     print(datetime.now().strftime('%Y-%m-%d %H:%M') + '----start')
14     try:
15         schedu.start()
16 
17     except (KeyboardInterrupt, SystemExit):
18         pass