python如何通过twisted实现数据库异步插入


Posted in Python onMarch 20, 2018

如何通过twisted实现数据库异步插入?

1. 导入adbapi

2. 生成数据库连接池

3. 执行数据数据库插入操作

4. 打印错误信息,并排错

#!/usr/bin/python3
 
__author__ = 'beimenchuixue'
__blog__ = 'http://www.cnblogs.com/2bjiujiu/'
 
import pymysql
from twisted.enterprise import adbapi
from twisted.internet import reactor
 
 
def go_insert(cursor, sql):
  # 对数据库进行插入操作,并不需要commit,twisted会自动帮我commit
  try:
    for i in range(10):
      data = str(i)
      cursor.execute(sql, data)
  except Exception as e:
    print(e)
 
 
def handle_error(failure):
  # 打印错误
  if failure:
    print(failure)
 
 
if __name__ == '__main__':
  # 数据库基本配置
  db_settings = {
    'host': 'localhost',
    'db': 'jobole',
    'user': 'root',
    'password': 'passwort',
    'charset': 'utf8',
    'use_unicode': True
  }
  # sql语句模版
  insert_sql = 'insert into test_1(text_1) value(%s)'
   
  # 普通方法插入数据
  # conn = pymysql.connect(**db_settings)
  # cursor = conn.cursor()
  # cursor.execute(insert_sql, '1')
  # conn.commit()
   
  try:
    # 生成连接池
    db_conn = adbapi.ConnectionPool('pymysql', **db_settings)
    # 通过连接池执行具体的sql操作,返回一个对象
    query = db_conn.runInteraction(go_insert, insert_sql)
    # 对错误信息进行提示处理
    query.addCallbacks(handle_error)
  except Exception as e:
    print(e)
   
  # 定时,给4秒时间让twisted异步框架完成数据库插入异步操作,没有定时什么都不会做
  reactor.callLater(4, reactor.stop)
  reactor.run()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
玩转python爬虫之cookie使用方法
Feb 17 Python
python实现转盘效果 python实现轮盘抽奖游戏
Jan 22 Python
详解python深浅拷贝区别
Jun 24 Python
python3调用windows dos命令的例子
Aug 14 Python
Python实现变声器功能(萝莉音御姐音)
Dec 05 Python
python图形开发GUI库pyqt5的详细使用方法及各控件的属性与方法
Feb 14 Python
Python打印特殊符号及对应编码解析
May 07 Python
在pycharm中创建django项目的示例代码
May 28 Python
Tensorflow使用Anaconda、pycharm安装记录
Jul 29 Python
细说NumPy数组的四种乘法的使用
Dec 18 Python
Python将QQ聊天记录生成词云的示例代码
Feb 10 Python
python opencv将多个图放在一个窗口的实例详解
Feb 28 Python
分分钟入门python语言
Mar 20 #Python
python使用生成器实现可迭代对象
Mar 20 #Python
浅谈Python中的作用域规则和闭包
Mar 20 #Python
python如何实现反向迭代
Mar 20 #Python
python利用高阶函数实现剪枝函数
Mar 20 #Python
python flask中静态文件的管理方法
Mar 20 #Python
python web基础之加载静态文件实例
Mar 20 #Python
You might like
php生成的html meta和link标记在body标签里 顶部有个空行
2010/05/18 PHP
php上传apk后自动提取apk包信息的使用(示例下载)
2013/04/26 PHP
PHP验证信用卡卡号是否正确函数
2015/05/27 PHP
PHP判断来访是搜索引擎蜘蛛还是普通用户的代码小结
2015/09/14 PHP
ThinkPHP使用Ueditor的方法详解
2016/05/20 PHP
Array.prototype.slice.apply的使用方法
2010/03/17 Javascript
清空上传控件input file的值
2010/07/03 Javascript
解决jquery submit()提交表单提示:f[s] is not a function
2013/01/23 Javascript
JQuery简单实现锚点链接的平滑滚动
2015/05/03 Javascript
Java框架SSH结合Easyui控件实现省市县三级联动示例解析
2016/06/12 Javascript
谈谈PHP中相对路径的问题与绝对路径的使用
2016/08/16 Javascript
jQuery基于ajax实现页面加载后检查用户登录状态的方法
2017/02/10 Javascript
用angular实现多选按钮的全选与反选实例代码
2017/05/23 Javascript
谈谈VUE种methods watch和compute的区别和联系
2017/08/01 Javascript
JS中利用FileReader实现上传图片前本地预览功能
2018/03/02 Javascript
微信小程序实现页面左右滑动
2020/11/16 Javascript
使用IronPython把Python脚本集成到.NET程序中的教程
2015/03/31 Python
python压缩文件夹内所有文件为zip文件的方法
2015/06/20 Python
Python中整数的缓存机制讲解
2019/02/16 Python
python三引号输出方法
2019/02/27 Python
Python箱型图绘制与特征值获取过程解析
2019/10/22 Python
解决jupyter notebook打不开无反应 浏览器未启动的问题
2020/04/10 Python
VS2019+python3.7+opencv4.1+tensorflow1.13配置详解
2020/04/16 Python
Python通过Schema实现数据验证方式
2020/11/12 Python
Django Model层F,Q对象和聚合函数原理解析
2020/11/12 Python
关于canvas.toDataURL 在iOS运行失败的问题解决
2020/09/16 HTML / CSS
英国著名的茶叶品牌:Whittard of Chelsea
2016/09/22 全球购物
医院学雷锋活动策划方案
2014/02/15 职场文书
私人会所最新创业计划书范文
2014/03/24 职场文书
党的群众路线教育实践活动个人批评与自我批评
2014/10/16 职场文书
2015教师见习期工作总结
2014/12/12 职场文书
原料仓管员岗位职责
2015/04/01 职场文书
结婚喜宴祝酒词
2015/08/10 职场文书
女人创业励志语录,句句蕴含能量,激发你的潜能
2019/08/20 职场文书
只用40行Python代码就能写出pdf转word小工具
2021/05/31 Python
Redis基本数据类型Zset有序集合常用操作
2022/06/01 Redis