网上很多文章包括官网给出来的,更多的是执行的函数和初始话app在同一文件

按照app 路由 模型类 视图 往下延申,项目已经成型,所以上述的方法不适用。

(不用操心模型类与app互相导入的错误)下面分享一下具体流程。

安装包命令

pip3 install  flask_apscheduler

新建一个文件  apscheduler.py

from  flask_apscheduler  import  APScheduler

scheduler = APScheduler()

在flask.app初始化的地方加入

flask_apscheduler

from apps.scheduler import scheduler

因为初始化的时候会执行,如果不加这个判断,就会才有重复调用的报错,

报警了也是不影响执行,避免debug预警,所以加个判断

if scheduler.app is None:

scheduler.init_app(app)

scheduler.start()

在视图函数上引入,因为是自动执行就和路由函数做成区分

@scheduler.task('cron', id='随便写,有辨识性就行', day_of_week='*', hour=4)  # 每天的四点执行
def xxx():
  print('')

间隔执行(示例)

每天凌晨1点30分50秒执行一次

@scheduler.task('cron',id='xxx', day_of_week='*', hour=1, minute='30', second='50')

每天4点执行一次

@scheduler.task('cron',id='xxx',day_of_week='*',hour=4)

Interval触发器-参数说明

weeks (int)    间隔几周

days (int)       间隔几天

hours (int)      间隔几小时

minutes (int)  间隔几分钟

seconds (int) 间隔多少秒

start_data (datetime 或者 str ) 开始时间

end_data (datetime 或者 str )  结束时间

timezone (datetime 或者 str )  时区

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)

hours (int)      间隔几小时

minutes (int)  间隔几分钟

seconds (int) 间隔多少秒

start_data (datetime 或者 str ) 开始时间

end_data (datetime 或者 str )  结束时间

timezone (datetime 或者 str )  时区

最新文章

  1. Windows Server 2008 R2常规安全设置及基本安全策略
  2. 【转】 jquery遍历json数组方法
  3. JavaWeb表单数据的获取方式
  4. POJ3928Ping pong[树状数组 仿逆序对]
  5. C++笔记----构造函数与析构函数(三)
  6. Construct Binary Tree from Preorder and Inorder Traversal [LeetCode]
  7. testng之listener
  8. ansible定时任务模块和用户组模块使用
  9. codeforces 27E . Number With The Given Amount Of Divisors 搜索+数论
  10. [置顶] 关于redhat系统yum源的配置2
  11. Android蓝牙传感应用(转)
  12. K:树、二叉树与森林之间的转换及其相关代码实现
  13. 好用的有多种样式的搜索界面创建UISearchBar
  14. 996 icu我能为你做什么?
  15. Hadoop 权限管理
  16. 基于ZooKeeper和Thrift构建动态RPC调用
  17. 【译】第44节---EF6-存储过程映射
  18. Docker配置阿里云加速地址
  19. P1855 榨取kkksc03 二维费用背包
  20. [svc][op]关闭linux centos各种声音

热门文章

  1. MyBatis(介绍和环境配置)
  2. JUC(8)Stream流式计算
  3. java中获取当前执行线程的名称
  4. 如何规范App广告的隐私获取,让用户拥有更多知情权?
  5. 软件架构(六)MVC架构历史
  6. 一个实用的 vite + vue3 组件库脚手架工具,提升开发效率
  7. 状态估计和KalmanFilter公式的推导与应用
  8. 万字详解JVM,让你一文吃透
  9. pyinstaller 打包exe相关
  10. AdsStream的使用