Ankündigung

Einklappen

Serverwartung 21.2.



Am 21.2. im Laufe des späten Abends wird eine Serverwartung durchgeführt. Das Forum ist dadurch für gut zwei Stunden nicht erreichbar.
Es wird eine Wartungsseite geschaltet.

Mehr anzeigen
Weniger anzeigen

while logic.alive

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

    while logic.alive

    Hallo,

    Lt. Doku sollte das gehen:

    Code:
    #!/usr/bin/env python3
    
    while logic.alive:
       logger.info('power consumption: ' + sh.basement.launpower_consumption_washing_machine())
       sleep(5)
    tut's aber nicht:

    Code:
    2014-08-10 21:02:54 ERROR    check_washing_machine Logic: check_washing_machine, File: /opt/smarthome/logics/check_washing_machine.py, Line: 3, Method: <module>, Exception: 'Logic' object has no attribute 'alive'
    Traceback (most recent call last):
      File "/opt/smarthome/lib/scheduler.py", line 327, in _task
        exec(obj.bytecode)
      File "/opt/smarthome/logics/check_washing_machine.py", line 3, in <module>
        while logic.alive:
    AttributeError: 'Logic' object has no attribute 'alive'
    2014-08-10 21:02:59 INFO     sonos-update Sonos: Message 192.168.0.87:12900 client/subscribe/9999 successfully sent - 200 OK
    Das Logik Object hat offensichtlich keine "alive" Attribut.

    Irgend ne Idee ?

    Danke vorab.
    sigpic
    Christian Huck
    Tel.: 089 / 122 80 995
    Email: mail@homeintelligence.de
    Web: www.homeintelligence.de

    #2
    Die Klasse Logic definiert wirklich ein alive Attribut, die Klasse Logics (man achte auf das zusätzliche s am Ende) aber schon.

    Wenn es dir nur darum geht Dinge zyklisch zu erledigen wäre cycle oder crontab ohnehin eine schönere Möglichkeit.

    mfg Stefan Betz

    Kommentar


      #3
      Hallo Stefan,

      danke für die Antwort - hilft aber leider nicht weiter...

      innerhalb der Logik funktioniert weder:

      while logic.alive:

      noch

      while Logic.alive:

      noch

      while Logics.alive:

      noch

      while logics.alive:

      was schade ist - denn jetzt muss der Thread bei jedem Neustart gekillt werden.
      sigpic
      Christian Huck
      Tel.: 089 / 122 80 995
      Email: mail@homeintelligence.de
      Web: www.homeintelligence.de

      Kommentar


        #4
        Hallo,

        sh.alive funktioniert.

        Zitat von betzs Beitrag anzeigen
        Wenn es dir nur darum geht Dinge zyklisch zu erledigen wäre cycle oder crontab ohnehin eine schönere Möglichkeit.


        Bis bald

        Marcus

        Kommentar


          #5
          schon recht...

          Wenn ich aber einen Thread habe der ein Objekt überwachen soll und umgehend reagieren muss wenn ein bestimmter Fall eintritt möchte ich keinen cycle mit einem Zyklus von 5 Sekunden o.Ä. dafür einhängen.

          Ich probiere sh.alive Mal aus.

          Danke Dir.
          sigpic
          Christian Huck
          Tel.: 089 / 122 80 995
          Email: mail@homeintelligence.de
          Web: www.homeintelligence.de

          Kommentar


            #6
            Zitat von hoggle Beitrag anzeigen
            schon recht...
            Bitte?

            Kommentar

            Lädt...
            X