flask-apscheduler重复执行两次函数

flask-apscheduler 使用方法: 1.安装flask-apschedulerflask

2.实例化并绑定app app

3.config.py 配置文件设置: id就是这个任务的编号, func 是须要执行的函数。 args是函数须要的参数。 trigger 有3种:date(一次性任务),cron(定时任务),interval(循环任务) interval循环间隔调度,参数以下:函数

weeks (int) – 间隔几周 
days (int) – 间隔几天 
hours (int) – 间隔几小时 
minutes (int) – 间隔几分钟 
seconds (int) – 间隔多少秒 
start_date (datetime|str) – 开始日期 
end_date (datetime|str) – 结束日期 
timezone (datetime.tzinfo|str) – 时区

cron定时任务,参数以下:debug

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) – 指定时区

我试了一下,我设置的是天天的10点30-31份内间隔20秒执行一次函数,minute 设置的是30-31,注意31是包含的,也就是执行了2分钟,20秒一次也就是执行了6次。 在调试模式下,Flask的从新加载器将加载烧瓶应用程序两次。所以flask总共有两个进程. 从新加载器监视文件系统的更改并在不一样的进程中启动真实应用程序 有几种方法能够解决这个问题。我发现效果最好的是禁用从新加载器: app.run(use_reloader=False)调试

或者关闭调试debug=Falsecode

相关文章
相关标签/搜索