Webseite wird regelmäßig kurzzeitig unvollständig oder fehlerhaft dargestellt

Für Linuxbenutzer und -begeisterte
Antworten
spitzmaus
Offline
Beiträge: 155
Registriert: 15 Mär 2023, 21:40
Wohnort: im mittelsächsischen Tiefland
Hat sich bedankt: 14 mal
Danksagung erhalten: 33 mal
Kontaktdaten:

Webseite wird regelmäßig kurzzeitig unvollständig oder fehlerhaft dargestellt

#1

Beitrag von spitzmaus »

Da es keine WeeWX-Abteilung gibt, setze ich das mal hierhinein. Dabei bin ich mir gar nicht so sicher, ob das überhaupt ein WeeWX-spezifisches Thema ist und nicht WsWin genau so betrifft. Also:

Jeder Nutzer wird es schon einmal beobachtet haben: Da ruft man die Wetter-Website auf und erhält nur eine unvollständige, beschädigt wirkende Seite oder gar Fehlermeldung 404 oder 403. Ein Klick auf Reload wenige Sekunden später, und alles ist wieder in Ordnung. Die Ursache liegt bei der Art und Weise, wie die Webseiten aktualisiert werden. Das geschieht so, daß zunächst lokal die Seiten neu erzeugt und dann auf den Server hochgeladen werden, oft mittels FTP. Und während die Dateien geschrieben werden, ist die alte Datei nicht mehr verfügbar und die neue noch nicht vollständig. Wenn man die Seite genau in dem Moment abruft, bekommt der Browser nur die unvollständige Datei und zeigt dementsprechend keine richtige Seite an.

Man könnte jetzt denken, das ist nur eine sehr kurze Zeit, und das passiert auch nur alle fünf Minuten. Ich gucke aber auch regelmäßig in die "Google Search Console", und da zeigt sich, daß Google diese Momente dennoch findet und sich darüber beschwert.

Nun habe ich darüber nachgedacht, wie man das Problem umgehen könnte. Unter Linux tut man das üblicherweise so, daß man die neue Datei zuerst unter einem anderen Namen schreibt und anschließend in den richtigen Namen umbenennt, wobei automatisch die alte Datei verschwindet, und die Definition sagt ausdrücklich, daß dieser Vorgang atomar ist, also daß kein anderes Programm und kein anderer Benutzer da zwischen dem Entfernen der alten Datei und dem Umbenennen reinkommt. So bekommt man immer eine vollständige Datei. Leider bietet FTP diese Funktion nicht. Und viele Webspace-Provider bieten nur FTP an. Alternativen gäbe es nämlich, zum Beispiel rsync. Um das freizuschalten, braucht man ein größeres und teureres Paket, als es für eine Wetter-Website nötig ist.

Was es beim Provider aber fast immer gibt, ist eine Datenbank. Und die hat ein Transaktionsmanagement, das heißt, der geänderte Datensatz wird erst zurückgeliefert, wenn er vollständig geschrieben ist, und bis dahin der alte, ebenfalls vollständig. Zusammen mit PHP kann man das zur Bereitstellung der Webseiten nutzen. Diesen Ansatz habe ich programmiert. Daraus ist der SQL Upload Generator entstanden, und er funktioniert auch ganz gut.

Nachteile gibt es natürlich auch. Wenn Seiten nur in größeren zeitlichen Abständen aktualisiert werden müssen, dann vermittelt das Umschreiben der Webseiten in PHP-Scripte dem Reportgenerator den Eindruck, daß die Datei noch nicht existiert und deshalb jedes Mal neu erzeugt werden muß. Und da Python, in dem WeeWX geschrieben ist, unheimlich langsam ist, merkt man das auch, wenn man Vorgänge unnötig oft ausführt. Dafür habe ich noch keine vernünftige Lösung gefunden.
Benutzeravatar
LE-Wetter
Offline
Beiträge: 1438
Registriert: 27 Nov 2020, 19:58
Wohnort: Leipzig
Hat sich bedankt: 45 mal
Danksagung erhalten: 112 mal
Kontaktdaten:

Re: Webseite wird regelmäßig kurzzeitig unvollständig oder fehlerhaft dargestellt

#2

Beitrag von LE-Wetter »

Ich bin kein WeeWX Nutzer (habe WsWin) und dieses Phänomen ist mir komplett unbekannt. Ich habe auch noch nie eine Seite 403 gesehen, weder auf meiner noch auf einer anderen. Und wenn das so selten vorkommt, dann würde ich es komplett ignorieren und nicht noch etwas reinbasteln (abgesehen, dass ich da sowieso keine Ahnung von habe 😄)
Ich kenne das Problem von WsWin Nutzern, dass da nicht alles vollständig geladen wurde und häufig waren es zu viele Prozesse auf einmal. Wenn man aber WsWin Zeit gibt (offset 1 Minute zBsp ) wird alles ordentlich abgearbeitet
Liebe Grüße von LE-Wetter

WS 888, Mete-On1 und WD4000 und
alte Barometer, Blitzortung, Radioaktivität
https://www.leipzig-wetter.de
www.regionalwetter-sa.de
www.wetternetz-sachsen.de
https://wetterhistorie-leipzig.de
Benutzeravatar
Gyvate
Offline
Beiträge: 3722
Registriert: 10 Aug 2021, 23:41
Wohnort: Saarbrücken
Hat sich bedankt: 14 mal
Danksagung erhalten: 534 mal
Kontaktdaten:

Re: Webseite wird regelmäßig kurzzeitig unvollständig oder fehlerhaft dargestellt

#3

Beitrag von Gyvate »

also dazu zwei Dinge - selbst wenn die Datei gerade neu geschrieben wird, hat der Browser die alte normalerweise in seinem Cache und wird die alte anzeigen (ausser, man hat den Cache abgeschaltet). Ggf. werden auch Mischformen angezeigt, das was neu ist gemischt mit dem, was noch nicht vollständig aktualisiert wurde.

Als weewx Nutzer mit Standardpostingintervallen von 5 Minuten, die sich auf die volle Stunde + n * 5 Minuten beziehen, weiss man irgendwann aus Erfahrung (kann man auch im Syslog nachschauen), wann der Imagegenerator die Bilder produziert und damit fertig ist und dann der Datentransfer eingeleitet wird - egal ob per FTP oder rsynch.
Dann weiss man auch, dass das die Zeiten sind, zu denen Mischanzeigen der aktuellen und der letzten 5 Minuten erfolgen können. Also daraus lernt man, immer ab Minute 7-10 die Seite aufrufen und dann sind auch alle aktuellen Bilder da, ohne dass es zu Mischungen kommt. Die Tabellen werden übrigens als erste übertragen (aktuell, Woche, Monat, Jahr), dann kommen die Bilder.

Dafür einen Riesenaufwand mit zusätzlicher Datenbank zu betreiben .... na ja, wem's gefällt, warum nicht.
Und auch dann braucht die Umbenennung und Löschung etc. auch Zeit, und wenn man den "richtigen" Zeitpunkt trifft, gibt's entweder auch Mischformen oder längere Wartezeiten.

Aus meiner Sicht ist das alles nicht wirklich mehrwertig, aber wie gesagt, jeder wie er mag.
WU und das Ecowitt Dashboard haben auch Refresh-Momente, wo sich die Antwort der Webseite verzögert, bis die Updates geladen sind. SInd halt ein paar Sekunden mehr als sonst.
Ecowitt Konsolen und Sensoren
WS2320E, HP2553, HP3501, WN1910, WN1980, WN1820, WS3800, WS3910, WH2810,
GW1000, GW1100, GW1200, GW2000, GW3000, WH2650,WS6210,
WS68, WS69, WS80, WS85, WS90,
WN30, WH31[EP], WH32[EP], WN32P, WN34L, WN34S,WN34D, WN35, WH41, WH45, WH46D, WH51, WH55, WH57, LDS01
Meteobridge Pro, MB RPi (2), MB VM, Weewx v4, CumulusMX v3, CumulusMX v4
Barani MeteoShield Pro (G2 + G3), MetSpec Rad02, SIAP SMarTCELLino,
Personal Weather Tablet(PWT), FOSHKplugin, Dracal BAR20
Weather Landing page: http://meshka.eu
Ecowitt WiKi Englisch: http://meshka.eu/Ecowitt/dokuwiki
spitzmaus
Offline
Beiträge: 155
Registriert: 15 Mär 2023, 21:40
Wohnort: im mittelsächsischen Tiefland
Hat sich bedankt: 14 mal
Danksagung erhalten: 33 mal
Kontaktdaten:

Re: Webseite wird regelmäßig kurzzeitig unvollständig oder fehlerhaft dargestellt

#4

Beitrag von spitzmaus »

Danke für eure Antworten.
LE-Wetter hat geschrieben: 14 Okt 2024, 23:02 Ich habe auch noch nie eine Seite 403 gesehen, weder auf meiner noch auf einer anderen.
Screenshot aus der Google-Search-Console:
Google.png
Google.png (60.58 KiB) 1024 mal betrachtet

Wenn man sich ansieht, was Google dort nicht gefunden hat, dann sind es abgeschnittene Links, wenn die Seite nicht vollständig geladen werden kann.

Ich habe es auch schon "live" gesehen.
Gyvate hat geschrieben: 15 Okt 2024, 00:47 Dafür einen Riesenaufwand mit zusätzlicher Datenbank zu betreiben .... na ja, wem's gefällt, warum nicht.
Und auch dann braucht die Umbenennung und Löschung etc. auch Zeit, und wenn man den "richtigen" Zeitpunkt trifft, gibt's entweder auch Mischformen oder längere Wartezeiten.
Der "Riesenaufwand" war einmalig. Und ist ja nun erledigt, auch für andere, die es ebenfalls stört.

Datenbanken schließen Mischformen grundsätzlich aus. Das ist eine wesentliche Eigenschaft solcher Systeme. Es wäre an manchen Stellen auch echt schwierig, wenn es nicht so wäre. Man stelle sich etwa vor, man zieht bei der Bank den Kontoauszug, während gerade eine Kontobewegung geschrieben wird, und erhielte dann Mischformen... Und nein, die auf Webservern verwendeten Datenbanken sind diesbezüglich nicht vereinfacht, die können das sicherstellen.

Und tatsächlich ist Google dort das Problem. Die können die Seite wegen so einer Momentaufnahme aus dem Suchindex nehmen, und das tun sie auch. Wenn ich schon eine Website betreibe, will ich schließlich, daß sie auch gefunden und von Leuten angeguckt wird. Das Ziel ist, daß sie Wöllsdorf-Wetter finden, wenn sie nach "Wetter in Döbeln" googeln, und nicht nur wetter.com oder wetteronline.

Ich würde da auch nicht "na ja, wem's gefällt" schreiben. Das klingt abwertend. Die Bewertung, ob ein Problem relevant oder nur eine kleine Unbequemlichkeit ist, hängt von den Nutzungsszenarien ab, die man betrachtet. Da kann man zu unterschiedlichen Ergebnissen gelangen, ohne daß das zwangsläufig Spielerei ist.
Benutzeravatar
Gyvate
Offline
Beiträge: 3722
Registriert: 10 Aug 2021, 23:41
Wohnort: Saarbrücken
Hat sich bedankt: 14 mal
Danksagung erhalten: 534 mal
Kontaktdaten:

Re: Webseite wird regelmäßig kurzzeitig unvollständig oder fehlerhaft dargestellt

#5

Beitrag von Gyvate »

spitzmaus hat geschrieben: 15 Okt 2024, 10:14
Ich würde da auch nicht "na ja, wem's gefällt" schreiben. Das klingt abwertend. Die Bewertung, ob ein Problem relevant oder nur eine kleine Unbequemlichkeit ist, hängt von den Nutzungsszenarien ab, die man betrachtet. Da kann man zu unterschiedlichen Ergebnissen gelangen, ohne daß das zwangsläufig Spielerei ist.
Die Angelsachsen sagen dazu "Schönheit liegt im Auge des Betrachters".
Heutzutage scheint der Be- und Empfindlichkeitsgrad vieler Zeitgenossen extrem hoch zu sein (was man so sieht, hört und erlebt) und hinter fast jedem Satz werden irgendeine Wertung, Diskriminierung und alle möglichen -ismen gewittert.
Selbst dann, wenn man einfach nur mal in Kurzform zum Ausdruck bringt, dass jeder das tun kann, wozu er (oder sie - Achtung - Diskriminierung) Lust hat - und dass man sich das Recht herausnimmt, eben diese Lust nicht zu teilen. Wenn das bereits als (negative) Bewertung wahrgenommen wird ... :roll: - Gegen positiv wahrgenommene Aussagen ("Bewertungen") wird sich erstaunlicherweise nicht gewehrt.
Nichts für ungut. Honni soit qui mal y pense.
Ecowitt Konsolen und Sensoren
WS2320E, HP2553, HP3501, WN1910, WN1980, WN1820, WS3800, WS3910, WH2810,
GW1000, GW1100, GW1200, GW2000, GW3000, WH2650,WS6210,
WS68, WS69, WS80, WS85, WS90,
WN30, WH31[EP], WH32[EP], WN32P, WN34L, WN34S,WN34D, WN35, WH41, WH45, WH46D, WH51, WH55, WH57, LDS01
Meteobridge Pro, MB RPi (2), MB VM, Weewx v4, CumulusMX v3, CumulusMX v4
Barani MeteoShield Pro (G2 + G3), MetSpec Rad02, SIAP SMarTCELLino,
Personal Weather Tablet(PWT), FOSHKplugin, Dracal BAR20
Weather Landing page: http://meshka.eu
Ecowitt WiKi Englisch: http://meshka.eu/Ecowitt/dokuwiki
spitzmaus
Offline
Beiträge: 155
Registriert: 15 Mär 2023, 21:40
Wohnort: im mittelsächsischen Tiefland
Hat sich bedankt: 14 mal
Danksagung erhalten: 33 mal
Kontaktdaten:

Re: Webseite wird regelmäßig kurzzeitig unvollständig oder fehlerhaft dargestellt

#6

Beitrag von spitzmaus »

Nun mal noch etwas Inhaltliches.

Gerade Windwerte ändern sich sehr schnell, und da ist eine Live-Anzeige sehr schön. Unter WeeWX wird dafür in aller Regel MQTT verwendet, was auch perfekt funktioniert, wenn man einen geeigneten MQTT-Broker als Relais im Internet zur Verfügung hat. Auch die Live-Anzeige des Wöllsdorfer Wetters ist auf diese Weise realisiert, dank der Unterstützung der Wetterstation Siewisch.

Wo diese Möglichkeiten nicht bestehen, braucht man Alternativen. Man muß hier bedenken, daß die Daten aller paar Sekunden gesendet werden. SQL bietet sich an, weil es in der Regel auf Web-Servern verfügbar ist und Transaktionssicherheit bereitstellt. Das SQLupload-Modul ermöglicht es nun auch, die Live-Daten (LOOP-Pakete und ARCHIVE-Datensätze) per SQL hochzuladen, so daß sie zunächst auf dem Server mit PHP und später im Browser mit JavaScript weiterverarbeitet werden können. Erfahrungen, ob und wie sich das in der Praxis bewährt, fehlen im Moment noch.
Antworten