Ralf Hohoff

Pentaho-Transformation nur an ausgewählten Tagen ausführen

Wenn man bereits einen täglich laufenden Job eingerichtet hat und nun die Anforderung aufkommt, eine oder mehrere Transformationen nur an einem Tag auszuführen, dann könnte man hierfür gleich einen weiteren, eigenständigen Job einrichten (als „geplante Aufgabe“). Es geht aber auch sehr einfach direkt im Job 😉

Im Job kann als ein Scripting-Schritt auch Javascript ausgeführt werden. Dieser Schritt liefert „wahr“ oder „falsch“.

Use the JavaScript job entry to calculate a boolean expression. The result can be used to determine which step will be executed next. You can use functions, procedure calls, ANDs, ampersands, ORs, EQUALs, etc. The Javascript job entry evaluates and returns a true or false.

Mit der Methode getDay() und einer kleinen If-Abfrage ist die Anforderung sehr einfach umgesetzt.

 

var d = new Date();
var weekday = new Array(7);
weekday[0] = "Sunday";
weekday[1] = "Monday";
weekday[2] = "Tuesday";
weekday[3] = "Wednesday";
weekday[4] = "Thursday";
weekday[5] = "Friday";
weekday[6] = "Saturday";
 
var n = weekday[d.getDay()];
 
if (n == "Monday") { //nur an einem Tag ausführen
true;
}
else {
false;
}

Man hätte auch direkt auf die Zahlen abprüfen können. Wenn man das Script aber in ein paar Monaten wieder öffnet, weiß man direkt ohne trial and error, wie man es korrekt z.B. auf den Mittwoch umstellt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert