代码使用举例:
from apscheduler.schedulers.blocking import BlockingScheduler
# 以定时推送信息为例
# 返回定时任务需要推送的内容
def set_message():
...
return message
# 设置判定是否推送定时任务
def if_send():
message=set_message() #
if message!='无':
sendDingTalkMsg(message) # 如果有需要推送的内容,则执行推送信息的函数
# 添加定时任务并执行
schedule=BlockingScheduler()
schedule.add_job(func=if_send# 定时任务的内容
,trigger='cron' # 设置定时推送时间类型为间隔型
,hour='10',minute='0',second='0'
)
schedule.start() # 任务开始执行
其中设置定时的模式:
# 定时模式为间隔10秒运行一次
,trigger='interval'
,seconds=10
interval
间隔调度,参数如下:
weeks (int) – 间隔几周
days (int) – 间隔几天
hours (int) – 间隔几小时
minutes (int) – 间隔几分钟
seconds (int) – 间隔多少秒
start_date (datetime|str) – 开始日期
end_date (datetime|str) – 结束日期
timezone (datetime.tzinfo|str) – 时区
# 定时模式为固定某个时间运行
,trigger='cron'
,day='24',hour='10',minute='0',second='0'
cron
间隔调度,参数如下:
year (int|str) – 年,4位数字
month (int|str) – 月 (范围1-12)
day (int|str) – 日 (范围1-31)
week (int|str) – 周 (范围1-53)
day_of_week (int|str) – 周内第几天或者星期几 (范围0-6 或者 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) – 最晚结束时间(包含)
timezone (datetime.tzinfo|str) – 指定时区