ScheculeEntry abhängig von der Zeit abbrechen
Author: tony_ziroff
Publication Date: 8/10/2019 18:53
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());
}
-
Author: robin_kump - 8/12/2019 9:45
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
0 -
Author: tony_ziroff - 8/12/2019 10:01
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
0
Vous devez vous connecter pour laisser un commentaire.
Commentaires
2 commentaires