Erstellt vor 4 Jahren

Geschlossen vor 4 Jahren

#1678 closed Fehler (fixed)

Autoreload bei Änderungen in lx_office.conf

Erstellt von: martin.schwier@… Verantwortlicher: m.bunkus@…
Priorität: normal Meilenstein:
Komponente: kivitendo ERP Version: 2.6.3
Schweregrad: Verbesserung Stichworte: Installation
Beobachter:

Beschreibung

Hallo!

Es wäre doch schön, wenn auch beim Betrieb über mod_fcgid Änderungen in der lx_office.conf sofort übernommen würden, ohne dass der Webserver neu gestartet werden muss.

Um dies zu erreichen habe ich die Datei dispatcher.fpl folgendermaßen modifiziert:

statt der Zeile:
$dispatcher->handle_request($request) while $request->Accept() >= 0;

folgendes:
while ($request->Accept() >= 0) {

$dispatcher->handle_request($request);
exit if -M 'config/lx_office.conf' < 0;

}

So wird bei jedem Request die Konfigurationsdatei auf Änderungen überprüft und die Anwendung ggf. neugestartet. Vielleicht kann man das auch noch eleganter lösen (es würde ja reichen nur die Config neu einzulesen).

Änderungshistorie (2)

comment:1 Geändert vor 4 Jahren durch m.bunkus@…

Ja, jein. Ich habe einen automatischen Reload (nicht nur bezogen auf die Konfiguration) schon mal versucht aber nicht wirklich gut hinbekommen. Dein Problem ist, dass erst nach dem folgenden Request der Restart stattfindet, was verwirren kann, gerade bei der Entwicklung.

Andere Varianten (Restart direkt _beim_ aktuellen Request unter Beibehaltung der Eingabe etc) entzieht sich meinen Fähigkeiten; dafür müsste man wohl eine Zwischenschicht zwischen Apache und Lx-Office einziehen, die sich selber um den Restart kümmert.

Aufgrund der damit verbundenen Problematiken gehe ich nicht davon aus, dass hier eine gute Lösung jemals implementiert wird.

comment:2 Geändert vor 4 Jahren durch m.bunkus@…

  • Lösung auf fixed gesetzt
  • Status von new nach closed geändert

In Revision 77ee93fc habe ich das implementiert -- automatischer Restart nach Änderungen, sofern in config/lx_office.conf eingeschaltet (weil Performance kostend nicht immer). Besser wird es wohl nicht, deshalb RESOLVED FIXED.

Hinweis: Hilfe zur Verwendung von Tickets finden Sie in TracTickets.