MySQL-Verbindung permanent offen halten mit _v_
Verfasst: Mittwoch 15. Februar 2006, 15:06
Hallo zusammen,
ich möchte eine SQL-Verbindung (MySQLdb) permanent offen halten und hatte mir das ursprünglich etwa so vorgestellt:
Problem => Unpickleable Object
Also wollte ich mir mal volatile zu nutze machen (hab ich vorher noch nie verwendet).
Funktioniert so auch richtig gut!
Nur hab ich jetzt das Problem, dass _v_connection einfach irgendwann "invalidated" wird und ich keine Möglichkeit finde, dabei die SQL-Verbindung zu schließen..
Somit hab ich dann x offene SQL-Threads (Debian Woody).
Natürlich könnte ich dem jetzt mit thread-timeouts entgegenwirken, aber das ist in meinen Augen nur ne quick & dirty solution.
Hat jemand eine Idee, wie ich die SQL-Verbindung beim (_v_-)Unload closen kann?
Oder gibts vielleicht noch eine einfachere Möglichkeit eine SQL-Verbingung permanent offen zu halten?
LG
Jens
ich möchte eine SQL-Verbindung (MySQLdb) permanent offen halten und hatte mir das ursprünglich etwa so vorgestellt:
Code: Alles auswählen
class foo(Persistent):
def __init__(self):
self.connection = MySQL(host, user, ...)
def sql(query):
return self.connection(query)
Problem => Unpickleable Object
Also wollte ich mir mal volatile zu nutze machen (hab ich vorher noch nie verwendet).
Code: Alles auswählen
class foo(Persistent):
...
def sql(query):
if hasattr(self, '_v_connection'): # Es könnte ja eine der 3 Unload-Möglichkeiten eingetreten sein..
self._v_connection = MySQL(host, user, ...)
return self._v_connection(query)
Nur hab ich jetzt das Problem, dass _v_connection einfach irgendwann "invalidated" wird und ich keine Möglichkeit finde, dabei die SQL-Verbindung zu schließen..

Somit hab ich dann x offene SQL-Threads (Debian Woody).
Natürlich könnte ich dem jetzt mit thread-timeouts entgegenwirken, aber das ist in meinen Augen nur ne quick & dirty solution.
Hat jemand eine Idee, wie ich die SQL-Verbindung beim (_v_-)Unload closen kann?
Oder gibts vielleicht noch eine einfachere Möglichkeit eine SQL-Verbingung permanent offen zu halten?
LG
Jens