python使用pymysql总是超时的解决方案

2023-11-07

可以使用如下方法对代码进行包裹:

import pymysql
import yaml
from loguru import logger

mysql_config = {
        "db": "my_db",
        "host": "127.0.0.1",
        "user": "test_user",
        "password": "test_password",
    }

def _query(sql_string, fetchone=False):
    """查询操作"""
    select_max_num = 5 # 重复查询的最多次数
    while True:
        conn = None
        cursor = None
        try:
            conn = pymysql.connect(**mysql_config)
            cursor = conn.cursor()
            cursor.execute(f"""{sql_string}""")
            if fetchone:
                all_result = cursor.fetchone()
            else:
                all_result = cursor.fetchall()  # 得到所有结果
            return all_result
        except Exception as e:
            logger.exception(e)
        finally:
            if cursor:
                cursor.close()
            if conn:
                conn.close()
        select_max_num -= 1
        if select_max_num <= 0:
            return None
        time.sleep(0.5)

使用如上代码,当出现意外时,会等待0.5s后重新进行查询

如果系统定型并且sql无误的时候,使用如上程序便可以确保连续5次查询,如果5次全部失败,则会返回None

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

python使用pymysql总是超时的解决方案 的相关文章

  • X 轴刻度标签按年份,X 轴网格线按财政季度

    我试图将 x 轴刻度标签设置为年份 但将网格线设置为财政季度 数据很简单 只是一个groupby date count 见下文 每个日期都有一个计数 我将其绘制为线图 rc rc form Bakken rc tgt oil groupby
  • 嵌套生成器表达式 - 意外结果[重复]

    这个问题在这里已经有答案了 这是测试代码 units 1 2 tens 10 20 nums a b for a in units for b in tens units 3 4 tens 30 40 x for x in nums 假设第
  • Python __init__ * 参数 [重复]

    这个问题在这里已经有答案了 我对 Python 还很陌生 我想使用这个库 但是 该类的构造函数中有一个参数 我找不到任何相关信息 init方法如下所示 def init self ain1 ain2 bin1 bin2 microsteps
  • 什么时候在Python中使用弱引用?

    谁能解释一下弱引用的用法吗 The 文档 http docs python org library weakref html没有具体解释 只是说GC可以随时销毁通过弱引用链接到的对象 那么拥有一个随时可能消失的物体还有什么意义呢 如果我需要
  • 使用 cx_oracle 返回 MERGE 中受影响的行数

    如何在 CX Oracle 中执行 MERGE INTO sql 命令来获取受影响的行数 当我在cx oracle 上执行MERGE SQL 时 我得到的cursor rowcount 为 1 有没有办法获取受合并影响的行数 由于 cx o
  • python 函数 *args 和 **kwargs 以及其他指定的关键字参数

    我有一个 Python 类 它的方法应该以这种方式接受参数和关键字参数 class plot def init self x y self x x self y y def set axis self args xlabel x ylabe
  • 在 Python 中解压存档时出现错误

    我使用 Python 下载 bz2 文件 然后我想使用以下方法解压存档 def unpack file dir file cwd os getcwd os chdir dir print Unpacking file s file cmd
  • 如何在 dash/plotly 中使用 iframe? (Python/HTML)

    我正在创建一个仪表板 我想使用这个交互式地图 网站链接 https www ons gov uk peoplepopulationandcommunity healthandsocialcare causesofdeath articles
  • 如何在Python中将N毫秒添加到日期时间

    我正在设置一个日期时间变量 fulldate datetime datetime strptime date time Y m d H M S f 其中日期和时间是适合日期时间性质的字符串 如何将此日期时间增加 N 毫秒 Use timed
  • 使用 SQLAlchemy 查询 Pandas DataFrame 时重命名列

    当您将数据查询到 pandas 数据帧时 有没有办法保留 SqlAlchemy 属性名称 这是我的数据库的简单映射 对于 school 表 我将数据库名称 SchoolDistrict 重命名为较短的 district 我从 DBA 中删除
  • Python父类访问子私有变量

    以下代码会生成错误 class A object def say something self print self foo print self bar class B A def init self self foo hello sel
  • 过滤给定范围内的坐标

    我有数百个带有地理位置的 out 文件 我将把它们批量导入到 SQLite 数据库中 但是 为了节省时间 我只会导入地理坐标在某些间隔内的线 文件是这样的 value value longitude latitude value value
  • numpy.polyval() 的反函数

    我想知道 np polyval 是否有一个方便的反函数 我在其中给出 y 值并求解 x 我知道我可以做到这一点的一种方法是 import numpy as np Set up the question p np array 1 1 10 y
  • 如何隐藏 Tkinter python Gui

    有人知道如何隐藏 python GUI Tkinter 我已经创建了键盘记录器 对于 GUI 我使用了 python 模块 Tkinter 我想添加名为 HIDE 的按钮 因此当用户单击它时 它将隐藏 GUI 当用户按下 CTRL E 之类
  • ValueError:序列太大;不能大于 32

    我写了这段代码 from Crypto Cipher import AES import numpy as np import cv2 base64 BLOCK SIZE 16 PADDING pad lambda s s BLOCK SI
  • 为什么变量 1 += 变量 2 比变量 1 = 变量 1 + 变量 2 快得多?

    我继承了一些 Python 代码 用于创建巨大的表 最多 19 列宽 5000 行 花了九秒用于在屏幕上绘制表格 我注意到每一行都是使用以下代码添加的 sTable sTable n GetRow where sTable是一个字符串 我将
  • Python - 将列表作为参数传递给 SQL,以及更多变量

    我试图在 python 3 6 中将未知数量的参数传递给 SQL Server 这是我使用 pypyodbc 的代码 cursor cnxn cursor theargs 1033286869 1053474957 1063654630 1
  • 导入错误:无法导入名称

    我有一个名为 google translate python 的库 https github com terryyin google translate python https github com terryyin google tra
  • VSCode IntelliSense 认为 Python 'function()' 类存在

    VSCode IntelliSense 正在完成一个名为的 Python 类function 这似乎不存在 例如 这似乎是有效的代码 def foo value return function value foo 0 But functio
  • 如何限制单元测试的最大运行时间?

    我目前正在运行一些单元测试 这些测试可能需要很长时间才能失败或无限期地运行 在成功的测试运行中 它们总是会在一定的时间内完成 是否可以创建一个 pytest 单元测试 如果在一定时间内未完成 该测试就会失败 您可以安装 pytest tim

随机推荐

  • C++:constexpr及constexpr函数

    constexpr变量 constexpr表达式是指值不会改变并且在编译过程就能得到计算结果的表达式 声明为constexpr的变量一定是一个const变量 而且必须用常量表达式初始化 constexpr int mf 20 20是常量表达
  • 【PaddlePaddle飞桨复现论文】—— 2. 采用 DNN 、CNN 和 VGG 实现车牌识别(VGG模型精度提高明显!!)

    一 任务描述 本次实践是一个多分类任务 需要将照片中的每个字符分别进行识别 完成车牌的识别 实践平台 百度AI实训平台 AI Studio PaddlePaddle1 8 0 二 数据集介绍 数据集文件名为characterData zip
  • SpringMVC之JSR303和拦截器

    目录 一 JSR 303 1 1 介绍 1 2 为什么要使用JSR 303 1 3 常用注解 1 4 快速入门 1 4 1 导入依赖 1 4 2 配置校验规则 1 4 3 编写方法校验 1 4 4 测试 二 拦截器 2 1 什么是拦截器 2
  • ClickHouse物化视图(八)

    文章目录 概述 1 物化视图与普通视图的区别 2 优缺点 3 基本语法 1 创建物化视图的限制 2 物化视图的数据更新 4 物化视图创建示例 5 更多文章和干货请关注公众号 概述 ClickHouse 的物化视图是一种查询结果的持久化 它确
  • Vue中TodoList案例_本地存储

    App vue
  • leetcode分类刷题:滑动窗口(三、两个序列+窗口定长类型)

    1 通过对滑动窗口前两个题型的总结 我们几乎已经习惯在给定的一个序列里使用滑动窗口的模板解题了 本次对应的 三 两个序列 窗口定长类型 也是考察连续子数组 连续子串问题 只不过这次会给定两个序列 判断短序列在长序列中是否存在字母异位词或排列
  • SSH 与 SSM

    SSM 指 SpringMVC Spring 和 MyBatis SSH 指 Struts Spring 和 Hibernate 两种框架的对比和对照为 控制器 事务层 持久层 SSH Struts Spring Hibernate SSM
  • Vue组件学习之组件自定义事件

    主要介绍组件的自定义事件的概念 使用等 何为组件自定义事件 组件自定义事件是一种组件间的通信方式 方向是 子组件 gt 父组件 使用场景 A是子组件 B是父组件 如果要把B的数据传给A 可以使用props配置项 如果要把A的数据转给B 就要
  • 【Springboot】集成百度地图实现定位打卡功能

    目录 第一章 需求分析 第二章 概要设计 第三章 详细设计 3 1 环境搭建 3 1 1 获取百度地图ak 3 1 2 创建springboot项目 3 2 配置application properties 3 3 配置pox xml 3
  • pyTorch基本数据类型

    pyTorch基本数据类型 文章目录 pyTorch基本数据类型 首先比较一下python和pytorch的数据类型区别 pyhon的特点 pytorch的特点 维度为0的标量 维度为1的向量 维度为2的Tensor 维度为3的Tensor
  • eclipse学习心得

    1运行程序 在后台遇到断点时 进入debug调试状态 作用域 功能 快捷键 全局 单步返回 F7 全局 单步跳过 F6 全局 单步跳入 F5 全局 单步跳入选择 Ctrl F5 全局 调试上次启动 F11 全局 继续 F8 全局 使用过滤器
  • js设置input只保留一位小数

    前言 input中只保留小数点后一位 直接不让他输入 实现方法 这里主要用 input事件来监听 vue中的话用 input input中加上 type text 注意这里有坑 不能用数字类型 谷歌 360可以 火狐会报错 oninput
  • C++的rapidjson库的安装和用法(包括Windows和Linux)

    C 的rapidjson库的安装和用法 包括Windows和Linux 1 RapidJson在Linux下安装 1 确保安装了git以及cmake make 2 在github官网上clone下RapidJson的工程 git clone
  • SpringMVC实现文件上传和下载功能

    实现文件上传和下载功能 一 文件上传功能 目录结构 设立流程 1 数据库表结构 2 dao包 3 po包 4 service包 5 controller包 6 resources包 7 webapp 8 spring的xml配置文件 9 导
  • JSP实现简单用户登录

    使用初级的JSP代码实现用户登录 使用TXT文件存储用户数据 初学JSP与大家分享一些自己的代码 index jsp
  • 最小二乘法圆拟合(附完整代码)

    文章目录 一 2D圆弧拟合 1 不经过给定起点与终点 2 精确经过给定起点与终点 二 3D圆弧拟合 一 2D圆弧拟合 1 不经过给定起点与终点 平面圆的一般方程为 x 2
  • RFID医疗耗材柜管理系统中的解决方案

    1 社会背景 医疗物资管理 传统的管理流程由于周期短 效率高 被各大医院广泛采用 但随之高值耗材种类激增所带来的准入标准弱化 信息追踪困难 管理责任不明确 历史数据统计分析困难等一系列问题日趋严峻 其次医院内部设备 财务和临床科室相互独立兼
  • 【unordered_map和unordered_set的封装】

    文章目录 1 哈希表的基本改造 2 迭代器 2 1 迭代器的大致框架 2 2 运算符重载的实现 2 3 哈希表的完善 3 unordered map和unordered set的封装 3 1 unordered map 3 2 unorde
  • MPC入门与Matlab实现

    本文为B站视频 你还在用PID MPC模型预测控制 从公式到代码 的学习笔记 强烈推荐去看这位大佬的视频 链接放在了最后 别忘了给大佬一键三连哈 MPC入门与Matlab实现 前言 1 模型 2 预测 3 滚动优化 参考轨迹 优化目标 4
  • python使用pymysql总是超时的解决方案

    可以使用如下方法对代码进行包裹 import pymysql import yaml from loguru import logger mysql config db my db host 127 0 0 1 user test user