consultar - ¿Alguien sabe de una biblioteca mysql asíncrona para Python?
python y mysql en windows (3)
La forma en que lo hace es al generar consultas de bases de datos en un hilo separado. Con Twisted puede usar deferToThread()
o deferToThreadPool()
(vea los documentos API 1 ).
He estado buscando servidores sin bloqueo para Python (tornado, retorcido, etc.) pero muchos de los beneficios parecen perderse si no hay una conexión sin bloqueo a la base de datos. ¿Alguien sabe si hay algún proyecto que se encargue de esto? (al no bloquear a la node.js)
Editar: aclaró mi pregunta
Puede usar ADBAPI de Twisted para ajustar una implementación de DBAPI sincrónica.
P.ej:
from twisted.internet import reactor
from twisted.enterprise import adbapi
def result(rows):
for row in rows:
print row
reactor.stop()
def fail(err):
err.printDetailedTraceback()
reactor.stop()
pool = adbapi.ConnectionPool(''sqlite3'', ''animals.db'')
d = pool.runQuery(''SELECT * FROM animals'', ())
d.addCallbacks(result, fail)
reactor.run()
Vea nuestro nuevo proyecto txMySQL que puede hacer esto ahora.
Esta es una implementación asincrónica nativa del protocolo binario MySQL.