Offene SQL-Connection feststellen...

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Ich möchte gern feststellen, ob am Ende meines Skriptes, evtl. noch SQL-Connections vorhanden sind. Kann man das feststellen???

Man konnte doch auch eine Fuktion definieren, die immer beim Programm-Ende noch ausgeführt werden soll... Ich weiß leider nicht mehr wie man das realisieren kann...

EDIT: Punkt 2 hat sich erledigt: atexit

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Hoi Jens,

vielleicht nicht ganz die Antwort auf Deine Frage, aber ich würde alle Verbindungen sammeln (z. B. in einer Liste) und beim Verlassen eines Programms eine Schleife drüber machen und versuchen (try/except) alle Verbindungen wieder zu schließen. Auf diese Weise mußt Du nicht erst suchen und testen, sondern machst einfach. Ich weiß nicht, wie Dein Skript nun ausschaut, aber u. U. spart dir diese Heransgehensweise Zeit und Nerven.

Gruß,
Christian
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Ich würde es zum testen nutzen, damit ich erkennen kann, ob ich alles richtig programmiert hab und alle SQL-connections wirklich wieder geschlossen werden.

Wobei, werden nicht evtl. alle connections, beim ende des CGI-Skriptes von MySQLdb automatisch geschlossen??? Was passiert beim einem sys.exit(1)???

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
BlackJack

Dateien und Sockets werden spätestens vom Betriebsystem geschlossen wenn ein Programm beendet wird.
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Naja gut, dann muß ich mir ja nicht all zuviele Sorgen machen ;) Schön wäre es aber schon mal festzustellen, welche connections/handles offen sind...

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
querdenker
User
Beiträge: 424
Registriert: Montag 28. Juli 2003, 16:19
Wohnort: /dev/reality

hi jens!
Mit welcher DB arbeitest du?
vom kinterbasdb-Modul kenne ich die Funktionen _has_db_handle und _has_transaction für eine connection, desweiteren _close_physical_connection um die Verbindung wirklich dicht zu machen.

Vielleicht hat 'dein' DB-Modul ja auch eine solche Funktion??

mfg, querdenker
BlackJack

Aber immer dran denken: Namen mit einem führenden Unterstrich sollte man höchstens mal zum Debuggen verwenden und nicht "wirklich" benutzen.
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

querdenker hat geschrieben:Mit welcher DB arbeitest du?
Mit MySQLdb... Leider sind die Doku's ja nicht so besonders...

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
BlackJack

Ich weiss, das sagte ich schon mal: die DB API 2.0 sagt eigentlich alles was man wissen muss und sollte wenn man mit Modulen arbeitet, die diese implementieren.
Antworten