Durchlaufzeit von Funktionen rausfinden / Datum angeben

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Serpens66
User
Beiträge: 259
Registriert: Montag 15. Dezember 2014, 00:31

ich hab doch nochmal vollständig auf meinen Thread Code gewechselt, damit ich die Threads mit enumerate gut unterscheiden kann.

Dabei habe ich nun rausgefunden, dass das Problem keiner meiner Threads ist, sondern von Modulen die ich verwende.
Möglicherweise websocket module... ab und zu startet mein Skript die websocket verbindung neu.. eventuell ohne die alte vorher korrekt zu beenden...

diese Liste wird immer länger:

[<_MainThread(MainThread, started 140676421236480)>, <Timer(Thread-126367, started daemon 140675051898624)>, <Timer(Thread-126418, started daemon 140675060291328)>, <Timer(Thread-126419, started daemon 140675068684032)>, <Timer(Thread-125569, started daemon 140675043505920)>, <Timer(Thread-126366, started daemon 140675077076736)>, <Timer(Thread-126417, started daemon 140676041516800)>, <Connection(Thread-28, started daemon 140675521693440)>, <Connection(Thread-7, started daemon 140676058564352)>, <Timer(Thread-125565, started daemon 140675001542400)>, <Timer(Thread-126409, started daemon 140675538478848)>, <Timer(Thread-125571, started daemon 140675504908032)>, <Timer(Thread-126246, started daemon 140674892437248)>, <Timer(Thread-126245, started daemon 140674867259136)>, <Connection(Thread-58, started daemon 140675093862144)>, <Timer(Thread-126420, started daemon 140674934400768)>, <Timer(Thread-125573, started daemon 140674959578880)>, <Timer(Thread-125567, started daemon 140675085469440)>, <Connection(Thread-58630, started daemon 140674917615360)>, <Connection(Thread-5, started daemon 140676075349760)>, <Timer(Thread-126410, started daemon 140674993149696)>, <Timer(Thread-125564, started daemon 140675009935104)>, <Connection(Thread-37054, started daemon 140675018327808)>, <Connection(Thread-27, started daemon 140675530086144)>, <Connection(Thread-29, started daemon 140675513300736)>]

Nun versuche ich rauszufinden, welches modul genau...
wisst ihr wie ich das rausfinden kann, welches Modul bzw welche Klasse diese Threads erstellt?

(konnte noch keine direkte Verbindung von websockets und diesen neuen threads finden, aber suche weiter...)
Serpens66
User
Beiträge: 259
Registriert: Montag 15. Dezember 2014, 00:31

Ja Ursache gefunden!

Es war tatsächlich mein "Neustarten" der Pusher (~=websocket) Verbindung.
Ich hatte keine Ahnung wie das pusherclient modul diesen erneuten connect Befehl umsetzt. Ich ging davon aus, dass die alte Verbindung dann einfach überschrieben wird bzw zb mit pings oderso nicht mehr offen gehalten wird und letztlich iwann geschlossen wird.

Jetzt schließe ich immer erst die Verbindung, bevor ich sie neustarte (wobei das regelmäßige neustarten vermutlich nichtmal nötig ist... habe im modul gesehen, dass es bereits die Verbindung regelmäßig checkt und selbst reconnected wenn möglich).

Memory Verbrauch steigt immernoch leicht an, aber das ist nicht so tragisch. Und mir ist ja jetzt klar geworden, dass ich auch in importierten Modulen suchen muss, wenn mein eigener Code so direkt keine logische Erklärung zulässt, also könnte das mit dem memory zuwachs ähnlich gelagert sein.
Aber das braucht hier jetzt nicht behandelt werden.

Ich danke euch und vorallem BlackJack für die Ratschläge, die mich auf die Spur gebracht haben :)
Antworten