Hallo,
ich hatte das Problem schonmal letzte Woche beschrieben, aber an sich immer noch keine Lösung gefunden.
Ich möchte einen Thread starten, und möchte im weiteren Systembetrieb immer mal wieder kontrollieren, ob
der Thread noch läuft, oder ob ich diesen eventuell eben neu starten müsste.
Das Problem ist, ich bin in der Pluginentwicklung und bekomme einfach nichts statisch zu greifen, wo ich
diesen Thread anbinden könnte.
Hintergrund:
In der Trac Umgebung ist alles lose gekoppelt und so ist es wie erwähnt etwas schwierig etwas Statisches zu greifen.
An sich bekomme ich ja eine eindeutige ID vom Thread zurück, allerdings kann ich mir diese nicht merken (außer ich schreibe sie in die config datei, auch unschön)
So Ideen,
- ist es möglich einen Thread auch über einen definierten Namen zu finden? (also setName kenn ich ja, aber wie finde ich den wieder, wenn ich die referenz nicht habe?)
- kann ich an der aktuell laufenden python umgebung sowas (ein Object) irgendwie statisch verknüpfen?
Hoffe mir könnt wer helfen, grüße Stefan
Statischen Thread
@BlackJack. vielen Dank genau das hab ich gesucht
Falls mal wer was ähnliches machen will:
Falls mal wer was ähnliches machen will:
Code: Alles auswählen
def _TimerIsStillAlive(self):
threadList = threading.enumerate()
for threadOb in threadList:
if threadOb.name == "hugo":
if threadOb.isAlive() == False:
self._createXMailThread()
return
self._createXMailThread()
def _createXMailThread(self):
myThread = self.myMailTimer(self._sendAllMails,self.DEFAULT_SLEEP_TIME)
myThread.setName("hugo")
myThread.start()