在flask微服务中使用调度器设置定时任务:BackgroundScheduler

devtools/2024/10/27 20:57:10/

flask微服务中使用调度器设置定时任务:BackgroundScheduler

python">#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
# filename: main.pyimport os
import unittestfrom app import create_app, db
from app.route import route
from app.service.score_service import send_score_mail
from apscheduler.schedulers.background import BackgroundScheduler# 环境变量
env = os.getenv('RUNTIME_ENV') or 'dev'# 创建应用
app = create_app(env)# 服务路由
route(app)def start_scheduler():# 创建调度器scheduler = BackgroundScheduler(timezone='Asia/Shanghai')# 添加定时任务scheduler.add_job(send_score_mail, 'cron', hour=7, minute=0, day_of_week='mon')# 启动调度器scheduler.start()return scheduler# 启动调度器(放在一个函数中,但在这里仍然调用它以保持现有行为)
_scheduler = start_scheduler()@app.cli.command()
def create():""" Create all database. """db.drop_all()db.create_all()db.session.commit()@app.cli.command()
def test():""" Run service unittest. """ut = unittest.TextTestRunner()ut.run(unittest.TestLoader().discover('app/test'))if __name__ == '__main__':app.run(debug=False, host='0.0.0.0', port=5003) # 此处debug为False时定时任务只会执行一次,debug为True时会执行2次

http://www.ppmy.cn/devtools/129261.html

相关文章

技术成神之路:设计模式(二十二)命令模式

相关文章:技术成神之路:二十三种设计模式(导航页) 介绍 命令模式(Command Pattern)是一种行为设计模式,允许将请求(命令)封装为对象,从而使您可以使用不同的请求、队列或记录请求日…

写一个 qq自动回话的程序

这是一个简单的 QQ 自动回话的 Python 程序示例: import random# 定义问题和回答的字典 qa_dict {"你好": ["你好!", "嗨!", "你好啊!"],"你今年多大了": ["我是一个程…

Spring Boot论坛网站:微服务架构的实践

摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了论坛网站的开发全过程。通过分析论坛网站管理的不足,创建了一个计算机管理论坛网站的方案。文章介绍了论坛网站的系统分析部分,包括可行性…

人工智能:塑造未来生活与工作的力量

💓 博客主页:倔强的石头的CSDN主页 📝Gitee主页:倔强的石头的gitee主页 ⏩ 文章专栏:《热点时事》 期待您的关注 引言 随着人工智能技术的不断发展,我们已经看到了它在各行业带来的巨大变革。 在医疗行业中…

linux上部署多个python环境并在jupyterlab搭建各自的虚拟环境virtualenv

linux上部署多个python环境并在jupyterlab搭建各自的虚拟环境virtualenv 一,Linux部署多个python环境 到官网https://www.python.org下载python指定 连接Linux服务器,进入到指定目录下 cd /usr/local/python因为该服务器上会搭建较多版本的python&…

git pull过程中出现there is no tracking information for the current branch

在本地开发的过程中git pull 拉取代码时出现There is no tracking information for the current branch 这个时候证明的是本地代码分支没有远程的跟踪信息也就是说与远程的分支建立联系,所以导致拉取代码无法成功 其实可视化窗口已经给了解决方案 git branch --se…

require和import的区别

require 和 import 是 JavaScript 中用于模块加载的两种不同语法,它们在使用方式、执行时机和兼容性方面有一些重要的区别。此外,懒加载是一种优化技术,可以提高应用的性能。 require 与 import 的区别 1. 语法 require: 语法:c…

基于opencv答题卡识别判卷

项目源码获取方式见文章末尾! 回复暗号:13,免费获取600多个深度学习项目资料,快来加入社群一起学习吧。 **《------往期经典推荐------》**项目名称 1.【基于DDPG算法的股票量化交易】 2.【卫星图像道路检测DeepLabV3Plus模型】 3…