Search the FirstSpirit Knowledge Base
Gibt es die Möglichkeit ein Script innerhalb eines Auftrages auch Remote auf einem Slave auszuführen? Für einige FS-eigenen Aufträge ist das ja möglich (Generierung, Enterprise-Backup).
Viele Grüße,
Andreas Alexander
Ich habe dazu eine neue Idee in den Feature Requests erstellt:
Leider nein, Skripte werden immer auf dem Master ausgeführt.
im Detail möchten wir einen unserer Slaves zum nächtlichen Projektexport verdonnern. Dazu habe ich ein kleines Beanshell-Skript geschrieben, um einen möglicherweise im gleiche ScheduleEntry enthaltenen Task auf den Slave auszulagern:
//!Beanshell
import de.espirit.firstspirit.access.schedule.ScheduleEntry;
import de.espirit.firstspirit.access.schedule.ScheduleTask;
ScheduleEntry se = context.getTask().getScheduleEntry();
for (ScheduleTask task : se.getTasks()) {
if ("project backup".equals(task.getName())) {
task.setExecuteOnClusterNode(true);
task.setClusterNodeName("fs4apd03");
context.logInfo("Set execution of task " + task.getName() + " to slave execution on cluster " + task.getClusterNodeName());
}
}
Im nachfolgenden Projektexport taucht auch die folgende Meldung auf:
WARN 22.02.2013 15:35:16.096 (de.espirit.firstspirit.server.scheduler.ScheduleManagerImpl): task could not be executed remote - no slave node available
Daraus schließe ich mal, dass dies generell möglich ist, oder?
Wir haben hier leider nur einen Slave vom Typ Generation-Slave. Ist das der Grund, warum der Skript-Auftrag nicht remote ausgeführt wird? Müsste ich also einen Slave vom Typ Read-Only Repository Server haben?
Daraus schließe ich mal, dass dies generell möglich ist, oder?
Nein, das ist nicht möglich.
Ich habe dazu eine neue Idee in den Feature Requests erstellt: