Details
-
Feature
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
1.3.1
-
None
Description
Hallo Joacim,
das Feature macht nur Probleme, da es bei großen Log-Dateien ewig dauert und dabei die Dienststartzeiten unter Windows überschreitet. Im Effekt ist jetzt leider mehrfach aufgetreten, dass der Job Scheduler überhaupt nicht mehr automatisch startet, wenn eine Log-Datei größer wird, z.B. tritt das Problem bereits bei 400 MB Dateigröße auf.
Kannst du das Feature bitte per Default abschalten und über eine Option in factory.ini einschaltbar halten? Wenn zu umständlich, dann bitte einfach nur das Feature rauswerfen.
Gruß
Andreas
-------
Hallo Joacim,
dazu fällt mir noch etwas anderes: das Problem tritt natürlich deshalb auf, weil der Dienst nicht als gestartet gilt solange er sein Log-File packt.
Weshalb erfolgt das Packen bereits während der Startphase des Dienstes? Würde zuerst der Dienst gestartet und danach das Log File gezippt, dann wäre das Problem gelöst und das feature kann bleiben.
Gruß
Andreas
-------
Hallo Andreas,
die Implementierung ist einfach: Vor dem Öffnen der scheduler.log wird die vorhandene gezippt. Die scheduler.log wird natürlich früh geöffnet, um den Start zu protokollieren.
Vorschlag: Der Scheduler benennt die Datei um (hängt einen Suffix ran) und zippt sie dann in aller Ruhe in einem (unter Windows) niedrig priorisierten Thread weg, während er ohne Verzögerung startet und bereit ist. Dann brauchen wir vielleicht auch nicht den factory.ini-Schalter.
Oder einfacher: Erst umbenennen, dann Dienst starten, dann zippen. Ohne Thread, dafür mit ordentlicher Protokollzeile. Während des Zippens ist der Scheduler nicht erreichbar.
Gruß
Joacim
---------
Hallo Joacim,
der erste Vorschlag ist m.E. besser: da der Scheduler sehr viel ins Log schreibt, entstehen beim Betrieb über mehrere Wochen sehr große Logs (auch ohne Debug-Level). Man wundert sich dann immer, weshalb die Software mehrere Minuten braucht, um mit Jobs loszulegen. Dieses Problem wären wir damit los.
Mit welchem Aufwand und welchem Timing unter Berücksichtigung der anderen Implementierungsaufgaben kannst du das machen?
Gruß
Andreas