个人觉得已经够详细了,去掉注释,修改一下时间就可以运行测试了!
# -*- coding:gbk -*-
import time, datetime as dt
from apscheduler.schedulers.background import BackgroundScheduler as bs
def task(taskName, Flag=True):
print("{}已执行! 时间: {}".format(taskName, dt.datetime.now()))
if __name__ == "__main__":
bs = bs()
'''
cron 表示定时任务, 用得最多的
interval 表示循环任务(只支持minutes、seconds)
date 表示具体的一次性任务(默认)
'''
# 每日指定时间执行一次
# bs.add_job(func=task, trigger="cron", month='*', day='*', week='*', day_of_week='*', hour='23', minute='3', second=0, args=["定时任务", True], id="cron_task")
# 同上, 每日指定时间执行一次, 不使用的参数可省略
#bs.add_job(func=task, trigger="cron", hour='23', minute='7', args=["定时任务", True], id="cron_task")
# 循环任务, 每隔三秒执行一次 task 函数
# bs.add_job(task, "interval", seconds=3, args=["循环任务"])
# 循环任务, 每隔一分钟一秒执行一次 task 函数
# bs.add_job(func=task, trigger="interval", minutes=1, seconds=1, args=["循环任务"])
# 每5秒执行一次任务,注意second="*/5",不是 seconds
# bs.add_job(func=task, trigger="cron", second="*/5", args=["定时任务", True], id="cron_task")
# 每天19:00~21:00,每隔5秒执行1次任务
# bs.add_job(func=task, trigger="cron", hour="19-21", second="*/5", args=["定时任务", True], id="cron_task")
# 每天19:01、20:01、21:01,每隔5秒执行1次任务
# bs.add_job(func=task, trigger="cron", hour="19-21", minute=1, second="*/5", args=["定时任务", True], id="cron_task")
# 每天19:10~19:20、20:10~20:20、21:10~21:20,每隔1秒执行1次任务
# bs.add_job(func=task, trigger="cron", hour="19-21", minute="10-20", second="*", args=["定时任务", True], id="cron_task")
# 在指定日期时间范围内, 每隔1分钟执行1次任务
# bs.add_job(func=task, trigger="interval", minutes=1, start_date="2020-12-24 17:30:00", end_date="2020-12-24 18:30:00", args=["循环任务", True])
# 一次性任务
# bs.add_job(func=task, trigger="date", args=["一次性任务", True], next_run_time=dt.datetime.now() + dt.timedelta(seconds=5), id="data_task")
# 1-12月,周一到周日,17:00到18:00 整点执行任务
# bs.add_job(func=task, trigger="cron", month="1-12", day_of_week="mon-sun", hour="17-18", args=["定时任务", True])
# 在2021-02-30 00:00:00之前,每周一到周五的6:30(am)触发
# bs.add_job(func=task, trigger="cron", day_of_week="mon-fri", hour=6, minute=30, end_date="2021-02-30")
# 每周一到周五 17:01~18:01 执行一次任务, 一天共执行两次。
# bs.add_job(func=task, trigger="cron", minute=1, day_of_week="mon-fri", hour="17-18", args=["定时任务", True])
# bs.remove_job("data_task")
bs.start()
print("Press Ctrl+C to exit")
try:
# This is here to simulate application activity (which keeps the main thread alive).
while True:
time.sleep(2)
except (KeyboardInterrupt, SystemExit):
# Not strictly necessary if daemonic mode is enabled but should be done if possible
bs.shutdown()