The CreatorCon Call for Content is officially open! Get started here.

How to stop Schedule job to Trigger on Holidays.

Swaroop10
Giga Contributor

How to stop schedule job to trigger on Holidays. I have updated all holidays in Schedules.

 

Thanks & Regards,

S.Swaroop.

1 ACCEPTED SOLUTION

Okay.

I added few logs and made few changes. can you chck and share the output.

var answer = false;
var s = new GlideSchedule("e939ddfcdb2c98501317f27139961981");
var w = new GlideSchedule("55ebbbf15f002000b12e3572f2b47714");
var a = gs.nowDateTime();
var gdt = new GlideDateTime();
gs.log(gdt);
if(gdt.getDayOfWeek() > 1 || gdt.getDayOfWeek() < 5){
  gs.log("Entered here 1");
  if(s.isInSchedule(gdt)&&!w.isInSchedule(gdt)){
    gs.log("Entered here 2");
    answer = true;
  } else {
    gs.log("Entered into else of inSchedule condition");
    answer = false;
  }
} else {
    gs.log("entered into else condition of week");
    answer = false;
}

View solution in original post

24 REPLIES 24

Hi,

gs.nowDateTime() returns a string where as isInSchedule requires a date/time as arugment.

So use gdt in place of a in the if condition and your code shall work.

Kindly mark the comment as helpful if it helps to solve your problem.

Regards,
Asif
2020 ServiceNow Community MVP

Hello Asif,

I have updates as said by you and tried but still Schedule Job was getting triggered. Below is the code which i have used.

var answer = false;
var s = new GlideSchedule("e939ddfcdb2c98501317f27139961981");
var w = new GlideSchedule("55ebbbf15f002000b12e3572f2b47714");
var a = gs.nowDateTime();
var gdt = new GlideDateTime();

if(gdt.getDayOfWeek() > 1 || gdt.getDayOfWeek() < 5){
if(s.isInSchedule(a)&&!w.isInSchedule(gdt)){
answer = true;
}
answer = false;
}
answer = false;

 

 

Thanks & Regards,

S.Swaroop.

 

Okay.

I added few logs and made few changes. can you chck and share the output.

var answer = false;
var s = new GlideSchedule("e939ddfcdb2c98501317f27139961981");
var w = new GlideSchedule("55ebbbf15f002000b12e3572f2b47714");
var a = gs.nowDateTime();
var gdt = new GlideDateTime();
gs.log(gdt);
if(gdt.getDayOfWeek() > 1 || gdt.getDayOfWeek() < 5){
  gs.log("Entered here 1");
  if(s.isInSchedule(gdt)&&!w.isInSchedule(gdt)){
    gs.log("Entered here 2");
    answer = true;
  } else {
    gs.log("Entered into else of inSchedule condition");
    answer = false;
  }
} else {
    gs.log("entered into else condition of week");
    answer = false;
}

Hello Asif,

It worked perfectly. Thank you for the help.

 

 

Thanks & Regards,

S.Swaroop.

 

Hi Swaroop,

As said by asif please try adding log and check if you get 8 or 7 May

Regards
Ankur

Regards,
Ankur
✨ Certified Technical Architect  ||  ✨ 9x ServiceNow MVP  ||  ✨ ServiceNow Community Leader