Job Scheduler

Dynamically react on changes in parameter include files

Details

  • Type: Sub-task Sub-task
  • Status: Closed Closed
  • Priority: Major Major
  • Resolution: Fixed
  • Affects Version/s: None
  • Fix Version/s: None
  • Component/s: None
  • Description:
    For jobs/orders in live folders, monitor included parameter files with folder monitoring.
    If a parameter file has changed, reload job/order.

Activity

Hide
Andreas Püschel added a comment - 04 February 2008 08:08
Soll dieses Verhalten für beliebige Verzeichnisse wirken, die mit <params><include file="..."/></params> angegeben werden? Davon wären auch Verzeichnisse betroffen, die bspw. ausserhalb des Live Folders liegen.
Show
Andreas Püschel added a comment - 04 February 2008 08:08 Soll dieses Verhalten für beliebige Verzeichnisse wirken, die mit <params><include file="..."/></params> angegeben werden? Davon wären auch Verzeichnisse betroffen, die bspw. ausserhalb des Live Folders liegen.
Hide
Joacim Zschimmer added a comment - 04 February 2008 08:18
Ah, gut aufgepasst. Das würde nur mit größerem Aufwand gehen und dabei die Zahl der Objekte, auf die der Scheduler wartet weiter erhöhen (das Windows-Limit, das wir noch nicht umgangen haben, ist 64).

Meine Aufwandsschätzung gilt nur für Dateien im selben Verzeichnis. An andere habe ich nicht gedacht.

Die Datei könnte auch irgendwo anders im Konfigurationsverzeichnis stehen (egal, welcher Zweig). Die Datei muss dann nur in einem Verzeichnis stehen, das vom Scheduler für die eigene Konfiguration überwacht wird. Mir wären auch standardisierte Dateinamensendungen recht. Ich möchte das noch einmal überdenken.
Show
Joacim Zschimmer added a comment - 04 February 2008 08:18 Ah, gut aufgepasst. Das würde nur mit größerem Aufwand gehen und dabei die Zahl der Objekte, auf die der Scheduler wartet weiter erhöhen (das Windows-Limit, das wir noch nicht umgangen haben, ist 64). Meine Aufwandsschätzung gilt nur für Dateien im selben Verzeichnis. An andere habe ich nicht gedacht. Die Datei könnte auch irgendwo anders im Konfigurationsverzeichnis stehen (egal, welcher Zweig). Die Datei muss dann nur in einem Verzeichnis stehen, das vom Scheduler für die eigene Konfiguration überwacht wird. Mir wären auch standardisierte Dateinamensendungen recht. Ich möchte das noch einmal überdenken.
Hide
Andreas Liebert added a comment - 15 February 2008 12:35
Aus dem Telefonat vom 14.02.2008:
Es gibt folgendes Probleme:
1. Es bereitet wesentlich mehr Aufwand, auch Parameterdateien zu überwachen, die sich nicht unterhalb des live (oder cache) ordners befinden.
2. Man möchte Parameterdateien relativ adressieren. Im selben ordner -> einfach. Absolut in einem ganz anderen Pfad -> kann ausserhalb von live liegen (Problem 1). Relativ zum live Wurzelverzeichnis, wenn es z.B. eine globale überwachte Parameterdatei ist, die von Jobs in mehreren Live Ordneren verwendet wird -> ${SCHEDULER_LIVE} als Umgebungsvariable hülfe dabei nicht immer, denn es würde auf den live ordner zeigen. Wenn aber über Zentrale konfiguration die Dateien im cache ordner landen, stimmt der Pfad nicht.

Benötigt wird also eine Möglichkeit, immer den richtigen (denn es gibt ja 2) Live Wurzelordner zu Adressieren, und nur unterhalb dieser überwachten Ordner Änderungen and der Parameterdatei zu bemerken.

Lösung:
neues Attribut "live_file" in <include>
live_file alternativ zu file

Regeln für <include live_file="...">:
. ist der aktuelle Ordner der Datei, die das include verwendet
/ ist die jeweils richtige Liveordner Wurzel (also live oder cache)
mit live_file refernzierte Parameterdateien werden überwacht, Änderungen werden bemerkt
Es ist verboten, mit ".." ausserhalb des Live Baums zu gehen

Regeln für <include file="..."> in einer Hot Folder Datei:
. ist der aktuelle Ordner der Datei, die das include verwendet
/ ist die Wurzel des Dateisystems
Die Datei wird nicht überwacht
Es ist erlaubt, mit ".." oder absoluter Adressierung ausserhalb des Live Baums zu gehen

Regeln für <include file="..."> in einer normalen Konfigurationsdatei:
. ist das Arbeitsverzeichnis des Schedulers
/ ist die Wurzel des Dateisystems
Die Datei wird nicht überwacht
Es ist erlaubt, mit ".." oder absoluter Adressierung ausserhalb des Live Baums zu gehen

Der Vorteil dieser Lösung ist, dass mit der Unterscheidung file<->live_file (und dessen Einschränkungen) klar ist, welche Parameterdateien dynamisch aktualisiert werden (können) und welche nicht.
Show
Andreas Liebert added a comment - 15 February 2008 12:35 Aus dem Telefonat vom 14.02.2008: Es gibt folgendes Probleme: 1. Es bereitet wesentlich mehr Aufwand, auch Parameterdateien zu überwachen, die sich nicht unterhalb des live (oder cache) ordners befinden. 2. Man möchte Parameterdateien relativ adressieren. Im selben ordner -> einfach. Absolut in einem ganz anderen Pfad -> kann ausserhalb von live liegen (Problem 1). Relativ zum live Wurzelverzeichnis, wenn es z.B. eine globale überwachte Parameterdatei ist, die von Jobs in mehreren Live Ordneren verwendet wird -> ${SCHEDULER_LIVE} als Umgebungsvariable hülfe dabei nicht immer, denn es würde auf den live ordner zeigen. Wenn aber über Zentrale konfiguration die Dateien im cache ordner landen, stimmt der Pfad nicht. Benötigt wird also eine Möglichkeit, immer den richtigen (denn es gibt ja 2) Live Wurzelordner zu Adressieren, und nur unterhalb dieser überwachten Ordner Änderungen and der Parameterdatei zu bemerken. Lösung: neues Attribut "live_file" in <include> live_file alternativ zu file Regeln für <include live_file="...">: . ist der aktuelle Ordner der Datei, die das include verwendet / ist die jeweils richtige Liveordner Wurzel (also live oder cache) mit live_file refernzierte Parameterdateien werden überwacht, Änderungen werden bemerkt Es ist verboten, mit ".." ausserhalb des Live Baums zu gehen Regeln für <include file="..."> in einer Hot Folder Datei: . ist der aktuelle Ordner der Datei, die das include verwendet / ist die Wurzel des Dateisystems Die Datei wird nicht überwacht Es ist erlaubt, mit ".." oder absoluter Adressierung ausserhalb des Live Baums zu gehen Regeln für <include file="..."> in einer normalen Konfigurationsdatei: . ist das Arbeitsverzeichnis des Schedulers / ist die Wurzel des Dateisystems Die Datei wird nicht überwacht Es ist erlaubt, mit ".." oder absoluter Adressierung ausserhalb des Live Baums zu gehen Der Vorteil dieser Lösung ist, dass mit der Unterscheidung file<->live_file (und dessen Einschränkungen) klar ist, welche Parameterdateien dynamisch aktualisiert werden (können) und welche nicht.
Hide
Joacim Zschimmer added a comment - 26 February 2008 16:08
JS-215 ist auf dem neueren Stand.
Show
Joacim Zschimmer added a comment - 26 February 2008 16:08 JS-215 ist auf dem neueren Stand.

People

Dates

  • Created:
    25 January 2008 10:47
    Updated:
    26 August 2008 10:32
    Resolved:
    26 February 2008 16:08