python如何通过twisted实现数据库异步插入
如何通过twisted实现数据库异步插入?
1.导入adbapi
2.生成数据库连接池
3.执行数据数据库插入操作
4.打印错误信息,并排错
#!/usr/bin/python3
__author__='beimenchuixue'
__blog__='http://www.cnblogs.com/2bjiujiu/'
importpymysql
fromtwisted.enterpriseimportadbapi
fromtwisted.internetimportreactor
defgo_insert(cursor,sql):
#对数据库进行插入操作,并不需要commit,twisted会自动帮我commit
try:
foriinrange(10):
data=str(i)
cursor.execute(sql,data)
exceptExceptionase:
print(e)
defhandle_error(failure):
#打印错误
iffailure:
print(failure)
if__name__=='__main__':
#数据库基本配置
db_settings={
'host':'localhost',
'db':'jobole',
'user':'root',
'password':'passwort',
'charset':'utf8',
'use_unicode':True
}
#sql语句模版
insert_sql='insertintotest_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)
exceptExceptionase:
print(e)
#定时,给4秒时间让twisted异步框架完成数据库插入异步操作,没有定时什么都不会做
reactor.callLater(4,reactor.stop)
reactor.run()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。