当前位置: 首页 > article >正文

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

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

#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
# filename: main.py

import os
import unittest

from 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.kler.cn/news/368453.html

相关文章:

  • JMeter实战之——模拟登录
  • Tongweb7049m4+THS6010-6012版本 传真实ip到后端(by yjm+lwq)
  • Java | ReentrantLock 锁和 synchronized 锁的区别和共同特点是什么?
  • 【PHP】ThinkPHP获取请求的域名及前缀
  • C语言应用范围有哪些?VC++和Turbo C也是编程语言吗?为什么某些编辑器编写源代码编译会报错?C语言为什么没有规定严格的运行时检查?
  • 飞书文档解除复制限制
  • 怎样找到台式电脑的ip地址?系统不同,方法各异
  • 手机玩黑色沙漠?GameViewer远程玩黑色沙漠教程
  • 采用Excel作为可视化设计器的开源规则引擎 NopRule
  • C# 创建型设计模式之----单例模式
  • linux网络编程1——IO管理(select/poll/epoll)
  • Linux普通用户赋予Root权限问题
  • 【H2O2|全栈】CSS案例章节(一)——圣杯布局和双飞翼布局
  • 【Elasticsearch】Elasticsearch中FST的Off-Heap优化详解
  • 解决 Oracle 数据库错误 ORA-12516:监听器无法找到匹配协议栈的处理程序
  • AcWing 3534:矩阵幂 ← 矩阵快速幂
  • K8s安装手册
  • Spring 全家桶版本更新
  • 后台管理系统的通用权限解决方案(三)SpringBoot整合Knife4j生成接口文档
  • 使用 jnitrace 分析 native 方法调用过程
  • 容器化与微服务
  • Elasticsearch的实战应用
  • 从k8s的事件聊聊for循环
  • openEuler 逻辑卷操作案例
  • Oracle SQL语句 某字段重复数据只取一条
  • 大数据湖仓一体架构未来思考