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()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。