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

'Crontab' object has no attribute 'wday'

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

    'Crontab' object has no attribute 'wday'

    Hallo,

    Ich bin auf SmartHomeNG Version:1.9.0.master seit einigen Wochen.
    Habe heute entdeckt das mein Scheduler nicht mehr funktioniert, daraufhin SHNG neu gestartet und im Log folgenden Eintrag gefunden:

    Code:
    2022-01-29 17:25:45 ERROR lib.smarthome Unhandled exception: 'Crontab' object has no attribute 'wday'
    <class 'AttributeError'>
    File "/usr/local/smarthome/bin/smarthome.py", line 276, in <module>
    sh.start()
    File "/usr/local/smarthome/lib/smarthome.py", line 605, in start
    self.logics = lib.logic.Logics(self, self._logic_conf_basename, self._env_logic_conf_basename)
    File "/usr/local/smarthome/lib/logic.py", line 124, in __init__
    self._load_logic(name, _config)
    File "/usr/local/smarthome/lib/logic.py", line 160, in _load_logic
    self.scheduler.add(self._logicname_prefix+name, logic, logic.prio, logic.crontab, logic.cycle)
    File "/usr/local/smarthome/lib/scheduler.py", line 472, in add
    self._next_time(name, offset)
    File "/usr/local/smarthome/lib/scheduler.py", line 572, in _next_time
    ct = self.crontabs.get_next(entry, now)
    File "/usr/local/smarthome/lib/triggertimes.py", line 134, in get_next
    tt = Crontab(triggertime)
    File "/usr/local/smarthome/lib/triggertimes.py", line 345, in __init__
    self.parse_triggertime()
    File "/usr/local/smarthome/lib/triggertimes.py", line 385, in parse_triggertime
    self.wday = self.wday.lower()
    Seitdem ist SHNG nicht mehr lauffähig. Bleibt nach der Fehlermeldung stehen.

    Was ich schon versucht habe:
    - Service neu starten
    - Reboot
    - Alle Logiken in der logic.yaml auf 'enabled: false' gestellt

    Irgendeine Idee woran es liegt?

    Gruß
    Marcus




    #2
    versuche mal die Datei lib/triggertimes.py auszutauschen mit der gleichnamigen aus dem develop branch

    Kommentar


      #3
      Hallo bmx,

      Mit der lib/triggertimes.py aus dem Develop kommt zwar die Fehlermeldung von oben nicht mehr, aber ich habe Seitenweise

      Code:
      2022-01-29 17:59:17 ERROR lib.triggertimes crontab entry '180' has fewer than 4 parts and is invalid
      2022-01-29 17:59:17 ERROR lib.triggertimes eventtime 2022-01-29 17:46:31.067357+01:00 is earlier than starttime 2022-01-29 17:59:17+01:00 maybe ephem>4.1 with errors
      2022-01-29 17:59:17 ERROR lib.triggertimes eventtime 2022-01-29 17:46:31.067357+01:00 is earlier than starttime 2022-01-29 17:59:17+01:00 maybe ephem>4.1 with errors
      2022-01-29 17:59:17 ERROR lib.triggertimes eventtime 2022-01-29 17:46:31.067357+01:00 is earlier than starttime 2022-01-29 17:59:17+01:00 maybe ephem>4.1 with errors
      2022-01-29 17:59:17 ERROR lib.triggertimes eventtime 2022-01-29 17:46:31.067357+01:00 is earlier than starttime 2022-01-29 17:59:17+01:00 maybe ephem>4.1 with errors
      2022-01-29 17:59:17 ERROR lib.triggertimes eventtime 2022-01-29 17:46:31.067357+01:00 is earlier than starttime 2022-01-29 17:59:17+01:00 maybe ephem>4.1 with errors
      ........
      Nach 72 Seiten Log habe ich den Start beendet......

      Noch Ideen?

      Kommentar


        #4
        OK, ich habs gefixt - aber kann leider nicht mehr genau sagen was genau der Fehler war.

        Ausgehend von der neuen Fehlermeldung mit der lib/triggertimes.py aus dem Develop:
        Code:
        2022-01-29 17:59:17 ERROR lib.triggertimes crontab entry '180' has fewer than 4 parts and is invalid
        hab ich in der etc/logic.yaml nach dem crontab entry '180' gesucht. Den Eintrag und die dazugehörige .py dann gelöscht.

        Jetzt läuft wieder alles, aber ich habe natürlich mit dem Löschen der Logik-Datei auch alle forensischen Beweise für die genauer Ursachenforschung ins Jenseits befördert.

        However - die Fehlermeldung mit der lib/triggertimes.py aus dem Develop hat den Hinweis gebracht. Habe jetzt die Datei aus dem Master wieder installiert.

        Läuft wieder! Thanks.

        Marcus
        Zuletzt geändert von SMarcus; 29.01.2022, 18:34.

        Kommentar


          #5
          Du kannst die fehlerbereinigte Datei aus dem develop ruhig drinlassen, beim nächsten master ist die dann sowieso dabei.

          Kommentar


            #6
            Hi Marcus,

            könntest du das git Kommando posten mit dem die lib/triggertimes.py ausgetauscht wurde?

            Danke vorab & Grüße,
            jes

            Kommentar


              #7
              Hi jes,

              Ähhh, sorry, ich mach das immer ohne git. Ich ziehe mir das komplette Paket (als zip) in Windows und schiebe dann die auszutauschende Datei über Samba in das entsprechende Linux-Verzeichnis meines SHNG Mini-PC.

              Solange die Samba-Anmeldung auf Linux mit dem gleichen Usernamen wie der Smarthome Username erfolgt, müssen anschließend keine Namensrechte geändert werden.

              Gruß
              Marcus

              Kommentar


                #8
                jes siehe Howto-Docker-Synology

                Kommentar

                Lädt...
                X