主要使用的是apscheduler
这个通过创建定时任务JOB
以及使用【apscheduler】创建【BlockingScheduler】
再把JOB添加进入定时任务中,以及设置触发时间
1)interval触发器:
想要在固定的时间间隔触发事件。 interval的触发器可以设置以下的触发参数:
- weeks :周。整形。
- days :一个月中的第几天。整形。
- hours :小时。整形。
- minutes :分钟。整形。
- seconds :秒。整形。
- start_date :间隔触发的起始时间。
- end_date :间隔触发的结束时间。
- jitter :触发的时间误差。
2)date触发器:
在某个日期时间只触发一次事件
run_date
3)crontab触发器:
在某个确切的时间周期性的触发事件。可以使用的参数如下:
- year :4位数字的年份。
- month :1-12月份。
- day :1-31日。
- week :1-53周。
- day_of_week :一个礼拜中的第几天( 0 - 6 或者 mon 、 tue 、 wed 、 thu 、 fri 、 sat 、 sun )。
- hour : 0 - 23 小时。
- minute : 0 - 59 分钟。
- second : 0 - 59 秒。
- start_date : datetime 类型或者字符串类型,起始时间。
- end_date : datetime 类型或者字符串类型,结束时间。
- timezone :时区。
- 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