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引用(import)文件夹下的py文件的方法
Aug 26 Python
以一段代码为实例快速入门Python2.7
Mar 31 Python
python+requests+unittest API接口测试实例(详解)
Jun 10 Python
Python中关于Sequence切片的下标问题详解
Jun 15 Python
Python 2.x如何设置命令执行的超时时间实例
Oct 19 Python
Windows下将Python文件打包成.EXE可执行文件的方法
Aug 03 Python
python 3.3 下载固定链接文件并保存的方法
Dec 18 Python
Python 循环终止语句的三种方法小结
Jun 24 Python
解决pycharm remote deployment 配置的问题
Jun 27 Python
使用python实现回文数的四种方法小结
Nov 24 Python
PyQt5+Pycharm安装和配置图文教程详解
Mar 24 Python
python里的单引号和双引号的有什么作用
Jun 17 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结合飞信 免费天气预报短信
2009/05/07 PHP
PHP编码转换函数 自动转换字符集支持数组转换
2012/12/16 PHP
详谈PHP程序Laravel 5框架的优化技巧
2016/07/18 PHP
nginx 设置多个站跨域
2021/03/09 Servers
TNC vs BOOM BO3 第一场2.13
2021/03/10 DOTA
javascript编程起步(第七课)
2007/01/10 Javascript
jQuery的attr与prop使用介绍
2013/10/10 Javascript
jquery实现滑动图片自己测试的例子
2013/11/05 Javascript
JS 排序输出实现table行号自增前端动态生成的tr
2014/08/13 Javascript
jQuery中live()方法用法实例
2015/01/19 Javascript
javascript实现任务栏消息提示的简单实例
2016/05/31 Javascript
BootStrap智能表单demo示例详解
2016/06/13 Javascript
JS模拟的Map类实现方法
2016/06/17 Javascript
JS获取鼠标相对位置的方法
2016/09/20 Javascript
js倒计时小实例(多次定时)
2016/12/08 Javascript
webpack配置之后端渲染详解
2017/10/26 Javascript
在 Angular-cli 中使用 simple-mock 实现前端开发 API Mock 接口数据模拟功能的方法
2018/11/28 Javascript
js对象数组和对象的使用实例详解
2019/08/27 Javascript
Node快速切换版本、版本回退(降级)、版本更新(升级)
2021/01/07 Javascript
分析Python编程时利用wxPython来支持多线程的方法
2015/04/07 Python
python模拟表单提交登录图书馆
2018/04/27 Python
对numpy Array [: ,] 的取值方法详解
2018/07/02 Python
Python使用matplotlib绘制三维图形示例
2018/08/25 Python
python利用ffmpeg进行录制屏幕的方法
2019/01/10 Python
浅谈python输出列表元素的所有排列形式
2020/02/26 Python
PyQt5通过信号实现MVC的示例
2021/02/06 Python
美国孕妇装购物网站:Motherhood Maternity
2019/09/22 全球购物
Ariat英国官网:为世界顶级马术运动员制造最优质的鞋类和服装
2020/02/14 全球购物
计算机开发个人求职信范文
2013/09/26 职场文书
绝对经典成功的大学生推荐信
2013/11/08 职场文书
汽车运用工程专业求职信
2014/06/18 职场文书
会计专业求职信范文
2015/03/19 职场文书
幼儿园班级工作总结2015
2015/05/25 职场文书
2016优秀员工先进事迹材料
2016/02/25 职场文书
python基础入门之字典和集合
2021/06/13 Python
MySQL深分页问题解决思路
2022/12/24 MySQL