Flask-apscheduler 无法启动工作,报错Run time of job was missed by... 解决方法

2023-05-16

先说结论: flask-apscheduler 中如果要调用 app_context环境的话,用 scheduler.app.app_context

详细过程:

1. 环境与背景,使用Flask 还有flask-apscheduler flask-sqlalchemy 这几个东西重构了一个自己版本的 https://github.com/guomaoqiu/JobCenter 工具,用来管理自己的工作,因为应用使用了 flask-sqlalchemy 所以很多操作要在 flask的app_context中运行,就使用了flask-apscheduler,遇到了 Run time of job xxx was missed by xxx...bug

2. Debug过程:

常见的第一个原因就是多次启动,解决方法也简单 use_reloader 关掉就好了

app.run(host="0.0.0.0", debug=True, use_reloader=False)

但是,偶尔的偶尔 还是出现这个问题,通常都是任务等了很久都没有开始,这块就会出现这个问题...

https://blog.csdn.net/weixin_44786530/article/details/90731800  这位大佬的文章已经讲解了我的整个过程,简单的说就是对APSCHEDULER的配置都没啥用,主要是你启动的东西没起来...

回到我的DEBUG过程,因为程序没有log出来,没有告诉我具体的启动哪里失败了,这就TM很难搞。

看了下代码调用环境时 我用的是 from xxx import app 然后再用 with app.app_context 

我发现我开着页面,这个定时任务就能跑,如果我关了所有flask相关页面这东西就跑不起来了....

而且他不是跑起来后报错,就是MISSED,这里我的推测是本身flask-apscheduler 调起一个任务时候,没有加载(或者加载了flask-aps对应的context,而不是想要的全局app的环境),因此如果没有前端页面时候,调用 app.app_context这块就会卡住

在flask-apscheduler 官方文档里其实提了一嘴
 https://viniciuschiele.github.io/flask-apscheduler/rst/usage.html 最后一个段落:如果你用flask-apscheduler 调起的任务 需要app_context 的话 应该用 scheduler(对应实例).app.app_context

目前APP已经没有这个需要打开页面才能跑的问题了!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Flask-apscheduler 无法启动工作,报错Run time of job was missed by... 解决方法 的相关文章

随机推荐

  • MySql中UTF8 和 GBK 编码中文字符长度问题

    转载自 xff1a MySql中UTF8 和 GBK 编码中文字符长度问题 MySql中UTF8 和 GBK 编码中文字符长度问题 出处 xff1a http blog csdn net 为什么要了解MySql中UTF8 和 GBK 编码中
  • PHP对表单提交特殊字符的过滤和处理

    转载自 xff1a PHP对表单提交特殊字符的过滤和处理 函数名 释义 介绍htmlspecialchars将与 单双引号 大于和小于号化成HTML格式 amp 转成 amp amp 34 转成 amp quot 39 转成 amp 039
  • ThinkPHP中数据库操作返回值总结

    转载自 xff1a ThinkPHP中数据库操作返回值总结 关键字 xff1a Thinkphp 返回值 数据库操作 select返回值 add返回值 setDec返回值 Thinkphp中的Think Model类提供了数据库的基本CUR
  • 基于 Token 的身份验证

    转载自 xff1a 基于 Token 的身份验证 最近了解下基于 Token 的身份验证 xff0c 跟大伙分享下 很多大型网站也都在用 xff0c 比如 Facebook xff0c Twitter xff0c Google 43 xff
  • 打造 Bootstrap Tags Input 同 Modal 结合的利器

    Boostrap Tags input 的使用 xff1a http bootstrap tagsinput github io bootstrap tagsinput examples Boostrap Tags Input 插件基于Bo
  • 打造 Bootstrap Tags Input 同 Modal 结合的利器(改)

    对上文 打造 Bootstrap Tags Input 同 Modal 结合的利器 中的 js 进行整合 xff0c 如下 xff1a bootstrap tagsinput demo js Created by DreamBoy on 2
  • 我的简单PHP框架——LabPHP v1.0.1

    此前讲到 我做的一个基于MVC设计思想的简单PHP框架 xff08 我的简单PHP框架 LabPHP xff09 xff0c 这里对其进行一些改进 xff0c 改进地方如下 xff1a 1 对 LabPHP Common functions
  • 关于ThinkPHP中URL及模板文件名大小写的讨论

    参考 xff1a ThinkPHP3 2 3完全开发手册 URL模式 thinkphp中处理url大小写敏感的技术方案 TP模板因路径大小写获取不到的Bug 特别地 xff0c 需要注意的是 xff1a 调试模式下URL区分大小写 xff1
  • 【免费送书】说说哪本书曾经让你爱不释手

    编程狗在线 自由的编程学习平台 一本好书带给人的不止于知识收获 xff0c 还会对你的成长有所帮助 xff0c 与你的每次经历产生共鸣 每天读一点 xff0c 坚持不懈 xff0c 你就能成为专业高手 如果你能每两个月读一本好的编程书 xf
  • PHP中的cURL函数

    今天看了一个接口的使用 xff0c 其中接口的示例中使用到PHP的cURL函数 xff0c 那么有趣的事情就来了 使用PHP向某个URL发送数据并接收响应数据 xff1a function request data url data 61
  • 设计模式之适配器(Adapter)模式

    转载自 xff1a 设计模式学习笔记 适配器 Adapter 模式 参考 xff1a Java设计模式之Adapter模式 2 自己阅读了原文中的例子颇有受益 xff0c 在此前常听到Java中adapter适配器一词 xff08 虽说现在
  • Java软件体系结构设计模式之结构模式 知识点摘录

    以下知识点摘录自 xff1a Java软件体系结构设计模式标准指南 一书 其中可能包含本人的一些感悟 Java软件体系结构设计模式之结构模式 xff08 11种 xff09 结构模式主要用来 xff1a 1 xff09 处理把责任委托给其他
  • 支付宝在线支付接口开发教程与总结

    转载自 xff1a 支付宝在线支付接口开发教程与总结 1 什么是第三方支付 所谓第三方支付 xff0c 就是一些和各大银行签约 并具备一定实力和信誉保障的第三方独立机构提供的交易支持平台 在通过第三方支付平台的交易中 xff0c 买方选购商
  • Android 应用商店评分+APP分享

    转载自 xff1a Android Market链接的生成 调用Market 搜索软件 Android 调用已安装市场 xff0c 进行软件评分的功能实现 参考 xff1a Android跳转到应用商店的APP详情页面 xff0c 以及 G
  • 用一个二维码做下载地址,自动区分是 ios 还是 android

    转载自 xff1a 用一个二维码做下载地址 xff0c 自动区分是 ios 还是 android 更多参考 xff1a 好推二维码如何通过应用宝微下载支持微信自动打开APP下载 xff1f 用一个二维码做下载地址 xff0c 自动区分是 i
  • Node中的JavaScript

    Node中的JavaScript global对象 在浏览器中 xff0c 全局对象指的就是window对象 xff1b Node中有两个类似却各自代表着不同含义的对象 xff1a global和process xff1b 任何global
  • Node中的HTTP

    来自对 了不起的Node js 一书的学习 HTTP协议 超文本传输协议 xff0c 又称为HTTP xff0c 是一种Web协议 HTTP协议构建在请求和响应的概念上 xff0c 对应在Node js中就是由http ClientRequ
  • Node中的Connect

    来自对 了不起的Node js 一书的学习 Connect Node js为常规的网络应用提供了基本的API 然而 xff0c 实际情况下 xff0c 绝大部分网络应用都需要完成一系列类似的操作 xff0c 这些类似的操作你一定不想每次都重
  • Node中的Connect——常用中间件

    接下来介绍一个Connect内置的一些中间件 xff1a static中间件 1 挂载 static允许将任意一个URL匹配到文件系统中任意一个目录 如 xff1a 将 my images URL和名为 images的目录对应起来 xff0
  • Flask-apscheduler 无法启动工作,报错Run time of job was missed by... 解决方法

    先说结论 xff1a flask apscheduler 中如果要调用 app context环境的话 xff0c 用 scheduler app app context 详细过程 xff1a 1 环境与背景 xff0c 使用Flask 还