Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - Plugins mit scheduler_add()

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    - √ - Plugins mit scheduler_add()

    Hallo,

    Bei Plugins kommt man ja häufiger in die Situation etwas Pollen zu müssen. Sinnvoll ist dann eine Methode, die das dann zyklisch erledigt. Diese wird dann mit scheduler_add() angemeldet.

    Meine Frage: ich kann das im Plugin in __init__() machen (das ist bei einigenplugins so), aus meiner Sicht kann es auch in run() tun. Auch das habe ich Plugins gefunden. Gibt es da einen Unterschied? Was ist eine sinnvolle Vorgabe ?

    Vielen Dank !

    Michel

    #2
    Hi Michel,

    ich würde und packe es in __init__ damit wird sie garantiert nur einmal aufgerufen. 'run' kann theoretisch mehrmals augerufen werden.

    Aus aktuellem Anlass:
    Bei kurzen Zyklusweiten empfehle ich eher das Plugin in der run Methode zu belassen und dort

    Code:
    while self.alive:
       self.do_the_update_dance()
       time.sleep(2)
    Dann führen Fehler in dem Plugin nicht dazu, das alle Threads aufgebraucht werden.

    bis bald

    Marcus

    Kommentar


      #3
      Hallo Marcus,

      danke für den Hinweis. Habe meine Plugins soweit umgebaut.

      Michel

      Edit: Als Hinweis für andere: setzt auch gleich ein timeout in HTTPConnection auf einen Zeitraum, der unter der Zykluszeit liegt. Sonst passiert es wie mir, dass bei einer fehlenden Verbindung (Gerät im Netzwerk nicht auffindbar) der timeout länger war und ich schon das nächste Mal angefragt hatte. Mit sind mir auch die Threads ausgegangen.
      Wieder mal was gelernt !

      Kommentar

      Lädt...
      X