...siehe Betreff. Auch der Zeitstrahl bei meinem aktuellen Bild ist irgendwie bei ca. 11:30 Uhr stehen geblieben 🤔 Ist das bei euch auch so? LG, Heike Edit: |
Nee, ist nicht weiter tragisch, war nur verwundert. Dann hatte das ja einen triftigen Grund 👍🏻
LG, Heike
nein, da ist nichts Dubioses passiert.
Sachen, die nicht sofort verarbeitet werden müssen, verarbeite ich gerne im Hintergrund - Sterne, Ansichtszeiten, Ansichten… da prüfe ich beim Einkommen der Daten, ob das plausibel ist, und speichere es mir dann in eine Datei.
Eine Minute oder so später werden dann all diese Sachen zusammen verarbeitet. Das hat für mich den Vorteil, dass ich Updates von Daten zusammenfassen kann und ein paar Transaktionen weniger habe.
Über denselben Mechanismus werden auch aufgelaufene Fehlermeldungen verarbeitet. Wenn im Programm irgendwo ein Fehler geworfen wird, und es zweifelhaft ist, dass ein Weiterarbeiten möglich ist, sammle ich mir die Informationen, die ich kriegen kann, und speichere sie in eine Datei (weil das definitiv geht, außer wenn die Platte voll ist, aber in dem Fall kann man eh nichts machen), und nicht in die Datenbank, weil genau da könnte der Fehler auftreten sein.
Die Sachen werden dann verzögert im Hintergrund in die Datenbank geschrieben.
Das funktioniert im Normalfall reibungslos.
Wenn es nicht reibungslos funktioniert, also dabei auch ein Fehler auftritt, bricht die Hintergrundverarbeitung ab, bis ich mit das Problem ansehen kann.
Nun gibt es an der Stelle ein Problem mit der Reihenfolge, nämlich dass das System die Fehlermeldungen zuerst bearbeitet. Das heißt, wenn die Verarbeitung der Fehlermeldungen hängt, hängt die ganze Hintergrundverarbeitung.
Hinweis: Ich sehe es nicht als großes Problem, dass Sterne zu spät verarbeitet werden. Das ist aus meiner Sicht der Dinge nicht schön, aber in solchen Fällen akzeptabel.
Das ist so jetzt zum zweiten mal passiert. Beim ersten Mal habe ich das bin zu einem bestimmten Punkt analysiert und wegen Zeitdruck dann einfach die schuldige Fehlermeldung gelöscht.
Heute habe ich dann etwas mehr Zeit und auch die Erfahrungen vom ersten Versuch gehabt, und wollte es richtig lösen.
Das war dann ein bisschen komplizierter als erwartet, weil eine Funktion, bei der nicht dokumentiert ist, dass sie Fehler melden oder Exceptions werfen kann, genau letzteres tat, und diese Exception nicht mal gefangen werden konnte, weil die gleich an den globalen Default-Exception-Handler ging.
Das war so eine Sache, die schlechte Laune macht…
Es gibt so Momente, da verflucht man eine Programmiersprache und sagt, dass es anderswo nur besser sein kann. Leider ist das nicht so
Gruß, Uwe