[gelöst] Update läuft 2 mal -> bei update <fileName>

Begonnen von RalfRog, 07 März 2024, 01:17:24

Vorheriges Thema - Nächstes Thema

RalfRog

Hallo

Das folgende Verhalten habe ich schon länger - aber nicht so recht nachverfolgt. Seit wann das Verhalten angefangen so ist kann ich gar nicht sagen.
Wenn ich in der Kommandozeile "update" ausführe läuft alles normal ab.
Ein backup wird aufgrund des Attributs "backup_before_update  1" automatisch erstellt.

Sobald ich in der Kommandozeile "update <fileName>" ausführe läuft es zweimal ab.  => Edit: das Update und in Folge das Backup.
Mit ist es bewusst geworden, da auch 2 Backups angelegt werden (im Log ist es natürlich auch zweimal enthalten).

Ist vermutlich nicht so gedacht?


Gruß Ralf

Zitat von: CommandRefFalls man <fileName> spezifiziert werden nur die Dateien heruntergeladen, die diesem Regexp entsprechen.



FHEM auf Raspi 2B mit nanoCUL, HM-MOD-RPI-PCB und über LAN MAX!Cube mit a-culFW (Stack 868 + 433)
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder

rudolfkoenig

Hypothese:
- "attr global updateInBackground 0" ist gesetzt (Voreinstellung ist 1)
- update wurde aus dem Browser gestartet.
- update & backup dauert laenger als ca 90 Sekunden

In diesem Fall sendet der Browser die Anfrage nochmal ab, da die Antwort nicht rechtzeitig angekommen ist.

RalfRog

Hallo Rudi
Danke für die Info. Kurz zu den Hypothesen:

Zitat von: rudolfkoenig- "attr global updateInBackground 0" ist gesetzt (Voreinstellung ist 1)
ist explizit auf 1 gesetzt

Zitat von: rudolfkoenig- update wurde aus dem Browser gestartet.
ja mit Firefox (Fhemweb)

Zitat von: rudolfkoenig- update & backup dauert laenger als ca 90 Sekunden
In diesem Fall sendet der Browser die Anfrage nochmal ab, da die Antwort nicht rechtzeitig angekommen ist.
Habe ich zwar nicht gestoppt kann aber gut sein, dass da auch 2 Minuten vergehen.


D.h. meine Beobachtung mit/ohne <fileName> war vermutlich Zufall.

Dann probier ich Hypothese 3 mal gezielt aus  ;)      ... was es alles gibt  ::)


Gruß und Danke Ralf
FHEM auf Raspi 2B mit nanoCUL, HM-MOD-RPI-PCB und über LAN MAX!Cube mit a-culFW (Stack 868 + 433)
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder

RalfRog

Hallo

1)
Lt. Log von gestern => "update fhemSVG" => 108 sec
2024.03.06 17:32:11.828 1: Downloading https://fhem.de/fhemupdate/controls_fhem.txt
...
2024.03.06 17:33:58.975 1: update finished, "shutdown restart" is needed to activate the changes.
2024.03.06 17:33:58.976 1:
2024.03.06 17:33:59.658 1: fheminfo Statistics data sent to server. See Logfile (level 4) for details.

und der anschließende ungewollte 2. Durchlauf => 107 sec
2024.03.06 17:34:22.722 1: Downloading https://fhem.de/fhemupdate/controls_fhem.txt
...
2024.03.06 17:36:08.507 1: update finished, "shutdown restart" is needed to activate the changes.
2024.03.06 17:36:08.508 1:
2024.03.06 17:36:09.165 1: fheminfo Statistics data sent to server. See Logfile (level 4) for details


2)
sowie später ein neuer Versuch mit =>  "update" (ohne <fileName>) => 100 sec
2024.03.07 01:00:48.692 1: Downloading https://fhem.de/fhemupdate/controls_fhem.txt
...
2024.03.07 01:02:27.410 1: update finished, "shutdown restart" is needed to activate the changes.
2024.03.07 01:02:27.413 1:
2024.03.07 01:02:28.065 1: fheminfo Statistics data sent to server. See Logfile (level 4) for details.
kein zweiter Durchlauf

Ob da heute Nacht beim Versuch ohne <fileName> die "90 Sekunden-Regel" mit der Browserwiederholung hätte greifen müssen, kann ich nicht sagen - zumindest kein zweiter Durchlauf. Hm....


3)
Heute nach deinen Infos ein => "update zwave" (danach Browser geschlossen) => knapp 90 sec
2024.03.07 14:17:55.902 1: Downloading https://fhem.de/fhemupdate/controls_fhem.txt
...
2024.03.07 14:19:25.089 1: update finished, "shutdown restart" is needed to activate the changes.
2024.03.07 14:19:25.090 1:
2024.03.07 14:19:25.762 1: fheminfo Statistics data sent to server. See Logfile (level 4) for details.
kein zweiter Durchlauf
=> das wäre dann evtl. gerade im Zeitfenster und der Browser war zu.

Fazit: unklar! Theoretisch hätte es bei 2) ja wieder passieren "müssen". Muss ich demnächst nochmal machen und schauen.


Gruß Ralf
FHEM auf Raspi 2B mit nanoCUL, HM-MOD-RPI-PCB und über LAN MAX!Cube mit a-culFW (Stack 868 + 433)
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder

RalfRog

#4
Hallo Rudi

Ich habe ein wenig mit Update auf meinem Test-Raspi (1B, der braucht länger ;) ) probiert.

Es gibt einen Unterschied zwischen 1) "update" und 2) "update <fileName>".

Im Fall 1 wechselt der Browser in den Event-Monitor und im Fall 2 bleibt er im Fenster.
Ich vermute im Fall 1 kommt es durch den Wechsel (nie) nicht zu 2 Durchläufen, während im Fall 2 deine Hypothese3 zutreffen kann.

Manchmal läuft der Brower auch in den Timeout dann gibt es (wenn man nicht "Nochmals Versuchen / Erneut senden" klickt) keinen 2. Durchlauf.
Fehler: Verbindung unterbrochen

Die Verbindung zum Server wurde zurückgesetzt, während die Seite geladen wurde.
  *  Die Website könnte vorübergehend nicht erreichbar sein, versuchen Sie es bitte später nochmals.
...


Gruß Ralf

PS:
"update <fileName>" macht man (ich) vermutlich in Sonderfällen bei denen es darum geht ein einzelnes Modul zu aktualisieren um sich gezielt Änderungen anzuschauen/zu testen.
FHEM auf Raspi 2B mit nanoCUL, HM-MOD-RPI-PCB und über LAN MAX!Cube mit a-culFW (Stack 868 + 433)
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder

rudolfkoenig

ZitatIm Fall 1 wechselt der Browser in den Event-Monitor und im Fall 2 bleibt er im Fenster.
In der Tat, updateInBackground wird explizit ignoriert, wenn man einen Parameter angibt und dieser nicht all ist.
Weiss leider nicht mehr, warum.

frank

FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

rudolfkoenig

Ich habe jetzt update.pm so geaendert, dass updateInBackground nur fuer check and checktime ignoriert wird.

RalfRog

Oh, das ist ja schön.

Schau ich mir heute Abend mal an.

Gruß Ralf
FHEM auf Raspi 2B mit nanoCUL, HM-MOD-RPI-PCB und über LAN MAX!Cube mit a-culFW (Stack 868 + 433)
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder

RalfRog

Hallo Rudi

Habs dann doch erst heute ausprobiert und update über den update-Mechanismus geladen.

  • update 98_update.pm   (um die geänderte Date mit <fileName> zu erhalten)
    => reload 98_update.pm
  • update HMCCU           (um etwas das ich nicht nutze <fileName> zu aktualisieren)

update und update <fileName> verhalten sich "gleich" (bis auf die Tatsache, dass Dateien wie CHANGED etc. natürlich nicht erneuert werden). Keine doppelten Backups  :)

Danke Rudi passt!

FHEM auf Raspi 2B mit nanoCUL, HM-MOD-RPI-PCB und über LAN MAX!Cube mit a-culFW (Stack 868 + 433)
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder

mähschaf

Guten Abend,

Ich habe gerade einen interessanten Fehler bei mir entdeckt, und zwar kann ich nach einem update add/list/remove Kommando jedes weiteres update-Kommando mit folgender Meldung quittiert:

ZitatAn update is already running

Also kann ich nach einem Neustart z. B. 5 mal "update check" eingeben. Nach einem "update list" war es das aber.

Ich habe mal im global verbose auf 5 gesetzt und getestet, leider ohne relevantes im Log zu finden.

Ist es möglich, dass das Verhalten mit der Änderung zusammenhängt? Gibt es noch jemanden, der das bei sich vielleicht schon einmal beobachtet hat?

updateInBackground 1 ist bei mir gesetzt. Ich habe das mal testweise auf updateInBackground 0 gesetzt - ohne Änderung.

Danke für Eure Hilfe!
Martin

rudolfkoenig

Danke fuer den Hinweis, habs gefixt.
Soweit ich sehe, war das "schon immer" ein Fehler.

mähschaf

ZitatSoweit ich sehe, war das "schon immer" ein Fehler.

Das hätte ich im Leben nicht für möglich gehalten!

ZitatDanke fuer den Hinweis, habs gefixt.

Ich habe zu danken, jetzt funktioniert es!!!