Ich habe einige benutzerdefinierte DAO-ähnliche Klassen entwickelt, um einige sehr spezielle Anforderungen für mein Projekt zu erfüllen, bei dem es sich um einen serverseitigen Prozess handelt, der nicht in einem Framework ausgeführt wird.Was ist die beste Lösung für das Datenbankverbindungs-Pooling in Python?
Die Lösung funktioniert gut, außer dass jedes Mal, wenn eine neue Anfrage gemacht wird, öffne ich eine neue Verbindung über MySQLdb.connect.
Was ist die beste "Drop-In" -Lösung, um dies auf das Verbindungs-Pooling in Python umzustellen? Ich stelle mir so etwas wie die Common-DBCP-Lösung für Java vor.
Der Prozess läuft lange und hat viele Threads, die Anfragen stellen müssen, aber nicht alle zur gleichen Zeit ... speziell tun sie eine Menge Arbeit vor kurzen Ausbrüchen von einem Stück ihrer Ergebnisse zu schreiben.
hinzufügen Editiert: Nachdem einige weitere Suche ich anitpool.py gefunden, die anständig aussieht, aber wie ich relativ neu bin Python Ich glaube, ich möchte nur sicherstellen, dass ich kein offensichtlicher/mehr idiomatische/besser fehlt Lösung.
Chris, hat sicherlich jemand das schon gebaut? Im schlimmsten Fall kann ich es selbst schreiben, aber offensichtlich sollte dies eine ziemlich häufige Anforderung für Leute sein, die keine bestehenden ORMs/Frameworks verwenden, und ich bin sicher, dass jemand anderes bereits eine Lösung entwickelt hat, die sich im Laufe der Zeit bewährt hat. – John
Ich habe das schon einmal mit Oracle gemacht, und ich glaube, es waren insgesamt weniger als 50 Codezeilen beteiligt. Verwenden Sie im Grunde eine ID, ein Wörterbuch, speichern Sie die Verbindung, speichern Sie den Verwendungsstatus usw. Sehr einfach? – Chris
@Chris, durch diese Kette der Logik, sollte ich beginnen, meine hashmaps und Listen auch selbst zu implementieren. –