Search the FirstSpirit Knowledge Base
Hallo,
Ich möchte einen stündlichen ScheduleEntry nur tagsüber ausführen,
Ich habe folgendes Script als erste Task des Schedule Entries , Die nachfolgenden Tasks werden jedoch trotzdem ausgeführt.
Wie kann ich den kompletten Scheduleentry beenden?
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.*;
import de.espirit.firstspirit.access.*;
int DEPLOYMENT_START_TIME = 6;
int DEPLOYMENT_END_TIME = 18;
Date date = new Date(); // given date
Calendar calendar = GregorianCalendar.getInstance(); // creates a new calendar instance
calendar.setTime(date); // assigns calendar to given date
int hourOfDay = calendar.get(Calendar.HOUR_OF_DAY); // gets hour in 24h format
if( hourOfDay > DEPLOYMENT_START_TIME && hourOfDay < DEPLOYMENT_END_TIME ){
context.logInfo("starting deployment");
}else{
t = context.getTask();
s = t.getScheduleEntry();
s.setActive(false);
context.logInfo("cancel deployment " + s.getName());
}
Hallo Tony,
wir verwenden einen umgedrehte Mechanismus, d.h. nur der erste Task eines Auftrags ist standardmäßig aktiv. Alle anderen Tasks werden bei Bedarf durch diesen Task aktiviert.
if(hourOfDay > DEPLOYMENT_START_TIME && hourOfDay < DEPLOYMENT_END_TIME) {
for(task : context.getTasks()) {
if(!"control".equals(task.getName())) {
task.setActive(true);
}
}
}
Geht natürlch auch umgedreht, aber Du musst auf jeden Fall die Tasks aktivieren/deaktivieren und nicht den ScheduleEntry.
Beste Grüße
Robin
Hallo Tony,
wir verwenden einen umgedrehte Mechanismus, d.h. nur der erste Task eines Auftrags ist standardmäßig aktiv. Alle anderen Tasks werden bei Bedarf durch diesen Task aktiviert.
if(hourOfDay > DEPLOYMENT_START_TIME && hourOfDay < DEPLOYMENT_END_TIME) {
for(task : context.getTasks()) {
if(!"control".equals(task.getName())) {
task.setActive(true);
}
}
}
Geht natürlch auch umgedreht, aber Du musst auf jeden Fall die Tasks aktivieren/deaktivieren und nicht den ScheduleEntry.
Beste Grüße
Robin
Hallo Robin,
danke dir. Ich probiere das mal mit den Tasks aus. Ich denke das mein Fehler war, zu versuchen, den ScheduleEntry abzubrechen!
VG,
Tony