fastApi 项目

参考:

中文文档:FastAPI

API接口开发其实特简单,Python FastApi Web 框架教程来了_根据接口文档用fastapi开发接口-CSDN博客

Python框架篇(1):FastApi-快速入门 - 知乎

官方示例目录结构

更大的应用 - 多个文件 - FastAPI

.
├── app                  # 「app」是一个 Python 包
│   ├── __init__.py      # 这个文件使「app」成为一个 Python 包
│   ├── main.py          # 「main」模块,例如 import app.main
│   ├── dependencies.py  # 「dependencies」模块,例如 import app.dependencies
│   └── routers          # 「routers」是一个「Python 子包」
│   │   ├── __init__.py  # 使「routers」成为一个「Python 子包」
│   │   ├── items.py     # 「items」子模块,例如 import app.routers.items
│   │   └── users.py     # 「users」子模块,例如 import app.routers.users
│   └── internal         # 「internal」是一个「Python 子包」
│       ├── __init__.py  # 使「internal」成为一个「Python 子包」
│       └── admin.py     # 「admin」子模块,例如 import app.internal.admin

定时器任务

        main.py

import time
from typing import Union
from apscheduler.schedulers.background import BackgroundScheduler
from fastapi import FastAPI
import uvicorn
from contextlib import asynccontextmanager
'''
启动命令
uvicorn main:app --reload --port 8000#导出依赖
pip freeze >requirements.txtapi文档地址
http://localhost:8080/docs
'''data_task = BackgroundScheduler()
task_id = 'data_task_1'@asynccontextmanager
async def lifespan(app: FastAPI):# 星期2——6 5:30 执行一次# scheduler.add_job(func=task_function, trigger="cron", day_of_week='1,2,3,4,6', hour=5,minute=30)data_task.add_job(func=task_function, trigger="interval",  seconds=1,id=task_id)data_task.start()# print("启动前执行")yield# print("关闭后前执行")app = FastAPI(lifespan=lifespan)def task_function():print(f"Current Time: {time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())}")@app.get("/scheduler/stop")
def stop():data_task.pause_job(task_id)print(task_id + ' is stop')return task_id + ' is stop'@app.get("/scheduler/start")
def start():data_task.resume_job(task_id)print(task_id + ' is start')return task_id + ' is start'# 第二种启动方式:
if __name__ == '__main__':uvicorn.run(app="main:app", host="localhost", port=8000)

参考 :

APScheduler定时任务框架 - 星空看海 - 博客园

crontab 定时任务、Python 定时任务框架 apscheduler_crontab 定时 执行 python 脚本-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/592325.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[讲座] - 闲聊工业设计

1,工业设计相关的学科分类 2,工业设计的职业发展路线 3,工业设计师的成名人物 4,设计了可口可乐的Loewy 可口可乐的瓶子,无论白天晚上还是瓶子被打碎,都能认出这个是可口可乐的瓶子。 草图参照了可可豆&am…

深度生成模型之GAN优化目标设计与改进 ->(个人学习记录笔记)

文章目录 深度生成模型之GAN优化目标设计与改进原始GAN优化目标的问题1. JS散度度量问题2. 梯度问题 优化目标的设计与改进1. 最小二乘损失GAN2. Energy-based GAN(EBGAN)3. Wasserstein GAN4. WGAN-GP5. Boundary Equilibrium GAN(BEGAN)6. Loss Sensitive GAN7. Relativeisti…

Cuk、Zeta和Sepic开关电源拓扑结构

Cuk、Zeta和Sepic变换器,三种拓扑结构大致类似。不同点在于电感和二极管,MOS管的位置关系的变化。 Cuk电源是一种非隔离的直流电源转换器,其基本结构包括输入滤波电容、开关管、输入电感、输出电感和输出电容等元件。Cuk电路可以看作是Boost和Buck电路的…

基于双闭环PI和SVPWM的PMSM控制器simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1 双闭环PI控制器设计 4.2 SVPWM技术 4.3 控制系统实现 5.完整工程文件 1.课题概述 基于双闭环PI和SVPWM的PMSM控制器simulink建模与仿真。系统包括逆变桥、PMSM、park变换、clark变换、SVPWM、PI控…

解决电脑访问共享文件问题:“无法访问。你可能没有权限使用网络资源。请与这台服务器的......”

文章目录 1. 问题2. 解决方法 1. 问题 2. 解决方法 Win R 键入 gpedit.msc在弹出的窗口,展开左侧目录树至安全选项,如图。( 计算机配置-Windows设置:安全设置-本地策略-安全选项)

从0开始python学习-36.pytest中yaml的基本数据结构及锚点引用

目录 1.数据类型 1.写入格式 1. 对象(字典):键:(空格)值 2. 数组(列表):它是使用一组横线"-"开头 2. 嵌套形式 1. 列表中的字典 2. 字典中的字典 3. 字典中的列表 4. 同时有列表和字典 …

2023我的编程之路

你的编程学习经历和成长过程: 在我探索编程世界的旅程中,我深刻地认识到,编程不仅仅是一种技术, 是一种思维方式, 一种解决问题的方法。希望通过分享我的编程学习体验,能够启发更多的人看到编程的魅力和价值…

克隆clone github上某个项目的子目录

有时会遇到只需要克隆github某个项目的子目录,此时可以使用以下方法实现: 需求示例: 现需要克隆:https://github.com/SingleZombie/DL-Demos项目中的ddim项目 注:ddim项目的地址为:https://github.com/Sing…

lenovo联想小新Pro-13 2020 Intel IML版笔记本电脑(82DN)原装出厂Win10系统镜像

链接:https://pan.baidu.com/s/1bJpfXudYEC7MJ7qfjDYPdg?pwdjipj 提取码:jipj 原装出厂Windows10系统自带所有驱动、出厂主题壁纸、系统属性专属LOGO标志、Office办公软件、联想电脑管家等预装程序 所需要工具:16G或以上的U盘 文件格式&a…

【ps】如何给人偶添加衣服

使用PS工具扣出人物 使用编辑-变形-操控变型 、

java spring boot 获取resource目录下的文档

主要代码 String filePath"templates/test.xls" ClassPathResource classPathResource new ClassPathResource(filePath); InputStream inputStream classPathResource.getInputStream();目录 主要目录存放再这 代码案例 public void downloadTemplate( HttpS…

数据库云平台新数科技完成B轮融资,打造全链路智能化数据库云平台

数据库云平台软件厂商「北京新数科技有限公司」(以下简称「新数科技」)已于2023年完成B1轮和B2轮融资,分别由渤海创富和彬复资本投资;义柏资本担任本轮融资独家财务顾问。 新数科技成立于2014年,当前产品矩阵包括数据库…

一起玩儿物联网人工智能小车(ESP32)——23. 变量与函数(一)

摘要:本文介绍变量和函数的基本知识 经过一个阶段的学习,大家对程序开发也有了一个初步的了解。这只能说是刚刚开始,所能实现的功能还非常的有限。接下来就是拓展一下大家的基本开发技能。 在前面的开发中,大家如果认真的练习并且…

kotlin foreach 循环

java中的foreach循环也使用于kotlin ,先回顾下java里面的foreach循环 java foreach循环格式 for(元素类型t 元素变量x : 遍历对象obj){引用了x的语句;} 例如: int[] intary {1,2,3,4};for (int a: intary) {Log.d("intary", String.value…

模拟控制方式(PWM)

引言 PWM(脉冲宽度调制)是一种常见的模拟控制方式,通过调节脉冲宽度来控制功率输出的占空比,从而实现模拟信号的传输和控制。在许多领域中,PWM都得到了广泛的应用,如电机控制、LED调光、音频控制等。本文将…

关于this.router 和this.route的总结

this.router 和this.route这2个东西一直在用可是我还是迷迷糊糊的不知道啥啥意思,尤其是idea的提示功能,总是让我一个回车就弄错了。 总结一波: 概述 this.$router(路由实例) : 是VueRouter的实例.包含了很多属性和对象(比如 h…

【PHP】PHP实现RSA加密,解密,加签,验签

1.php RSA生成公私钥 // 生成密钥对 $config array("digest_alg" > "sha256", // 加密算法"private_key_bits" > 2048, // 密钥长度(位数) );// 创建并保存私钥到文件 $res openssl_pkey_new($config); if (!fil…

.NET Core SkiaSharp 替代 System.Drawing.Common 的一些用法

在.NET 6中,微软官方建议把 System.Drawing.Common 迁移到 SkiaSharp 库。因为System.Drawing.Common 被设计为 Window 技术的精简包装器,因此其跨平台实现欠佳。 SkiaSharp是一个基于谷歌的Skia图形库(Skia.org)的用于.NET平台的…

WebSocket项目中难点与解决方法

1、难点一:连接建立与保持 问题描述: 在项目中,我们发现WebSocket初始连接负担较大,主要体现在频繁的连接建立和保持连接的开销较高。 解决方法: 1. 连接池管理:我们引入了websocket-pool库,通…

Mysqld的关键优化参数

skip-name-resolve 现象 mysql连接很慢,登陆到服务器上查看服务器日志都是正常的,无可疑记录,登陆到mysql服务器上,查看下进程,发现有很多这样的连接: 218 | unauthenticated user | 192.168.10.6:44500 |…