[Python] fastapi sqlalchemy 多线程使用
作者:CC下载站 日期:2021-09-01 00:00:00 浏览:48 分类:编程开发
由于业务需求,抓取数据后直接由python端入库,然后为了效率考虑多线程肯定是基本操作啦,之前为了提升抓取速度已经用上了异步,将速度由原来的20多s提到1s然后速度太快导致被滑块验证拦截,于是加上了代理IP。
今天用我之前fastapi操作MySQL那套去操作数据库的时候,发现多线程并不好用,各种报错
经过百度,发现了一篇
sqlalchemy 多线程 创建session:https://blog.csdn.net/Gragon_Shao/article/details/112786197
于是我把我之前用的那套模板改了一下
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker, scoped_session
from Config import config
if config.DBType == 'sqlite':
# 使用SQLite数据库
SQLALCHEMY_DATABASE_URL = f"sqlite:///{config.DataBase}"
engine = create_engine(SQLALCHEMY_DATABASE_URL, connect_args={"check_same_thread": False})
SessionLocal = sessionmaker(autocommit=False, autoflush=True, bind=engine)
else:
# 使用MySQL数据库
SQLALCHEMY_DATABASE_URL = f"mysql+pymysql://{config.UserName}:{config.Password}@{config.Host}:{config.Port}/{config.DataBase}"
engine = create_engine(SQLALCHEMY_DATABASE_URL, pool_pre_ping=True, pool_size=5, pool_timeout=30, pool_recycle=1)
SessionLocal = sessionmaker(autocommit=False, autoflush=True, bind=engine)
session = scoped_session(SessionLocal)
Base = declarative_base()
def get_db():
db = session
try:
yield db
finally:
db.remove()
在就是直接去调用session就可以了,使用完之后再remove
def test(task, db: scoped_session = session):
db.query(ta).filter(ta.id == task.id).delete()
db.add(ta(**task.to_dict()))
db.commit()
db.remove()
猜你还喜欢
- 03-29 [编程相关] Winform窗体圆角以及描边完美解决方案
- 03-29 [前端问题] has been blocked by CORS policy跨域问题解决
- 03-29 [编程相关] GitHub Actions 入门教程
- 03-29 [编程探讨] CSS Grid 网格布局教程
- 10-12 [编程相关] python实现文件夹所有文件编码从GBK转为UTF8
- 10-11 [编程算法] opencv之霍夫变换:圆
- 10-11 [编程算法] OpenCV Camshift算法+目标跟踪源码
- 10-11 [Python] python 创建 Telnet 客户端
- 10-11 [编程相关] Python 基于 Yolov8 + CPU 实现物体检测
- 03-15 [脚本工具] 使用go语言开发自动化脚本 - 一键定场、抢购、预约、捡漏
- 01-08 [编程技术] 秒杀面试官系列 - Redis zset底层是怎么实现的
- 01-05 [编程技术] 《Redis设计与实现》pdf
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[web] 免费公共DNS大全(IPv6+IPv4)
[硬件检测] 内存测试工具 MemTestPro 汉化版(7.0)
[硬件检测] 专业硬件检测工具 | HWiNFO(8.0.5400.0)
[系统加速] 利用内存给硬盘加速 | RamCache III 去限制版(1.01.12)
[游戏技巧] 龙之信条2存档备份教程(建议收藏)
[游戏资讯] 龙之信条2存档位置在哪 存档备份教程
[游戏资讯] 最近热门手游有哪些,装备全靠打的手游有哪些游戏,好玩的角色扮演游戏手游
[游戏资讯] 《无人深空》轨道新篇开启!快来定制自己的飞船探索宇宙吧
[游戏攻略] 2024咸鱼之王最强阵容 附雷电云手机搬砖教程
[云图志] 【皇马】Adidas Y-3 山本耀司联名广告 图集
[下载工具] Internet Download Manager 6.42.7 (IDM)
[即时通讯] 腾讯QQ PC版9.7.22.29315去广告绿色纯净版
[影视] 灌篮高手 WEB-DL版下载/Slam Dunk/スラムダンク/灌篮高手:THE FIRST/灌篮高手电影版 2022 The First Slam Dunk 61.35G
[开发环境] PhpStorm2023中文激活版v2023.3.3 正式版
[图像制作] Adobe Illustrator 2024 v28.1.0.141 破解版
[资料] 3000 套电影电视剧 LOGO 宣传片常用音效合集包
[截图软件] HyperSnap(截图软件)_v9.4.0.00_汉化破解版
[安卓软件] 酷我音乐APP_v10.7.6.4 去广告破解豪华VIP版
[输入法] 搜狗拼音输入法PC版13.13.0.8820精简优化版
[即时通讯] 微信PC版WeChat 3.9.9.43 多开防撤回绿色版
[影视] 灌篮高手 WEB-DL版下载/Slam Dunk/スラムダンク/灌篮高手:THE FIRST/灌篮高手电影版 2022 The First Slam Dunk 61.35G
[安卓软件] Android GIF助手 v3.9.7 GIF图片编辑器破解版
[影视] 如何做爱 WEB-DL版下载/第一次 2023 How to Have Sex 5.33G
[电视剧] 三体 (2024) 全8集 网飞版本 中文字幕 合集
[剧集] 繁花 (2023)[全30集][打包]
[影视] 三大队 WEB-DL版下载/Endless Journey/请转告局长,三大队任务完成了 2023 三大队 6.7G
[纪录片] 河西走廊【10集 国语 中文字幕 1080P 10.8G MP4】
[安卓软件] OfficeSuite中文版APP v14.2.50872.0破解版
[影视] 饥饿游戏:鸣鸟与蛇之歌 WEB-DL版下载/饥饿游戏:鸣鸟与蛇的歌谣 / 饥饿游戏前传:鸣鸟与灵蛇之歌(港) / 饥饿游戏:鸣鸟与游蛇之歌(台) / 鸣鸟与蛇之歌 / 鸣鸟与蛇的歌谣 / 鸣禽与蛇的歌谣 / 饥饿游戏前传 / The Hunger Games: The Ballad of Songbirds and Snakes 2023 The Ballad of Songbirds and Snakes 27.17G
[影视] 涉过愤怒的海 WEB-DL版下载/怒海 / Across the Furious Sea 2023 涉过愤怒的海 26.3G
- 最新评论
-
谢谢支持!!CC下载站 评论于:03-26 很棒的资源,感谢分享云体风身 评论于:03-26 感谢分享,好东西云体风身 评论于:03-26 谢谢支持!CC下载站 评论于:03-14 央视精品,感谢付出提供。qwer9009 评论于:03-14 谢谢支持!!!CC下载站 评论于:03-13 谢谢分享!Ypc9182 评论于:03-12 谢谢支持!!CC下载站 评论于:03-11 感谢本网站收集和提供这么多的资料,谢谢!Ypc9182 评论于:03-10 很棒的资源,支持一下lingzhi007 评论于:03-10
- 热门tag