GlideSchedule - com escopo

A API GlideSchedule com escopo fornece métodos para executar operações em objetos GlideSchedule, como adicionar novos segmentos de programação a uma programação, determinar se uma data/hora está dentro da programação ou definir o fuso horário da programação.

GlideSchedule — GlideSchedule()

Instancia um objeto GlideSchedule vazio.

Tabela 1. Parâmetros
Nome Tipo Descrição
Nenhum

GlideSchedule – GlideSchedule(cadeia de caracteres sysID, cadeia de caracteres fuso horário)

Instancia um objeto GlideSchedule e carrega as informações de programação. Se um fuso horário não for especificado, o fuso horário da sessão atual será usado.

Tabela 2. Parâmetros
Nome Tipo Descrição
sysID Cadeia de caracteres O ID do sistema para a programação.
fuso horário Cadeia de caracteres Opcional. O fuso horário a ser usado.

Padrão: o fuso horário da sessão atual.

Os fusos horários podem ser fornecidos nos seguintes formatos.
  • País/Cidade. Por exemplo, América/Los_Angeles.
  • País/Fuso horário. Por exemplo, EUA/Pacífico.
  • Abreviação do fuso horário. Por exemplo, PST.
Para obter uma lista completa de fusos horários válidos, consulte o campo Fuso horário na tabela Usuário [sys_user]. Para obter mais informações sobre fusos horários, consulte Time zones.
var schedule = new GlideSchedule('090eecae0a0a0b260077e1dfa71da828', 'US/Pacific');

GlideSchedule - add(GlideDateTime startDate, GlideDuration offSet)

Adiciona um novo segmento de programação à programação atual.

Tabela 3. Parâmetros
Nome Tipo Descrição
startDate GlideDateTime A data de início do novo segmento de programação.
offSet GlideDuration A compensação de tempo do novo segmento de programação.
Tabela 4. Retorna
Tipo Descrição
GlideDateTime A programação atualizada com o novo segmento de programação.
var startDate = new GlideDateTime('2014-01-02');
var days = 2;
var dur = new GlideDuration(60 * 60 * 24 * 1000 * days);
var schedule = new GlideSchedule();
var end = schedule.add(startDate, dur);
gs.info(end);
Saída:
2014-01-04 00:00:00

GlideSchedule - duração (GlideDateTime startDate, GlideDateTime endDate)

Determina o tempo decorrido na programação entre dois valores de data e hora usando o fuso horário da programação ou, se não for especificado, o fuso horário da sessão.

Tabela 5. Parâmetros
Nome Tipo Descrição
startDate GlideDateTime A data/hora de início.
endDate GlideDateTime A data/hora final.
Tabela 6. Retorna
Tipo Descrição
GlideDuration A diferença entre a data/hora inicial e a final.
var startDate = new GlideDateTime('2014-10-16 02:00:00');
var endDate = new GlideDateTime('2014-10-18 04:00:00');
var schedule = new GlideSchedule();
 
schedule.load('090eecae0a0a0b260077e1dfa71da828'); // loads "8-5 weekdays excluding holidays" schedule
var duration = schedule.duration(startDate, endDate);
gs.info(duration.getDurationValue()); // gets the elapsed time in schedule

GlideSchedule – getName()

Recupera o nome da programação.

Tabela 7. Parâmetros
Nome Tipo Descrição
Nenhum
Tabela 8. Retorna
Tipo Descrição
Cadeia de caracteres O nome da programação atual.
sys_id ='04e664654a36232701a2247dcd8fc4cf'; // sys_id for "Application" schedule record
var sched = new GlideSchedule(sys_id);
gs.info(sched.getName());

GlideSchedule - isInSchedule(GlideDateTime time)

Determina se a data e a hora especificadas estão dentro da programação atual.

Tabela 9. Parâmetros
Nome Tipo Descrição
hora GlideDateTime Valor de data e hora a ser verificado.
Tabela 10. Retorna
Tipo Descrição
Booliano Sinalizador que indica se a data e hora especificadas estão dentro da programação.
Valores válidos:
  • verdadeiro: a data e a hora estão dentro da programação.
  • falso: a data e a hora estão fora da programação.
var glide = new GlideRecord('cmn_schedule');
glide.addQuery('type', 'blackout');
glide.query();
if (glide.next()) {
   var sched = new GlideSchedule(glide.sys_id);
   var date = new GlideDateTime();
   date.setDisplayValue("2007-09-18 12:00:00");
   if (sched.isInSchedule(date)) 
      gs.info("Is in the schedule");
   else
      gs.info("Is NOT in the schedule");
}

GlideSchedule – isValid()

Determina se a programação atual é válida. Uma programação é válida se tiver pelo menos um período de programação.

Tabela 11. Retorna
Tipo Descrição
Booliano Verdadeiro se a programação for válida.
var glide = new GlideRecord('cmn_schedule');
glide.addQuery('type', 'blackout');
glide.query();
if (glide.next()) {
   var sched = new GlideSchedule(glide.sys_id);
   var date = new GlideDateTime();
   date.setDisplayValue("2007-09-18 12:00:00");
   if (sched.isValid()) 
      gs.info("Is valid");
 
   else
      gs.info("Is not valid");
}

GlideSchedule - load(cadeia de caracteres sysID, cadeia de caracteres timeZone, cadeia de caracteres excludeSpanID)

Carrega uma programação com as informações da programação.

Tabela 12. Parâmetros
Nome Tipo Descrição
sysID Cadeia de caracteres O ID do sistema da programação.
fuso horário Cadeia de caracteres (Opcional) O fuso horário. Se um fuso horário não for especificado ou for nulo, o fuso horário da sessão atual será usado para a programação.
ExcluirSpanID Cadeia de caracteres Qualquer período a ser excluído.
Tabela 13. Retorna
Tipo Descrição
vazio
var x = new GlideSchedule();
x.load('08fcd0830a0a0b2600079f56b1adb9ae');

GlideSchedule – setTimeZone(cadeia de caracteres fuso horário)

Define o fuso horário da programação atual.

Tabela 14. Parâmetros
Nome Tipo Descrição
fuso horário Cadeia de caracteres O fuso horário a ser usado.
Os fusos horários podem ser fornecidos nos seguintes formatos.
  • País/Cidade. Por exemplo, América/Los_Angeles.
  • País/Fuso horário. Por exemplo, EUA/Pacífico.
  • Abreviação do fuso horário. Por exemplo, PST.
Para obter uma lista completa de fusos horários válidos, consulte o campo Fuso horário na tabela Usuário [sys_user]. Para obter mais informações sobre fusos horários, consulte Time zones.
Tabela 15. Retorna
Tipo Descrição
vazio

Este exemplo define o fuso horário da programação como EUA/Pacífico.

var schedule = new GlideSchedule();
schedule.setTimeZone('US/Pacific');

GlideSchedule -whenNext(GlideDateTime time, String timeZone)

Determina quanto tempo (em milissegundos) até a hora de início do próximo item de programação.

Esta função deve ser chamada quando o objeto GlideSchedule (tabela cmn_schedule) não está na janela de programação. A chamadawhenNext() retorna a duração (em ms) até que o objeto GlideSchedule esteja dentro da programação. Esta função não retornará um valor significativo se for chamada quando o objeto GlideSchedule estiver dentro da programação.

Tabela 16. Parâmetros
Nome Tipo Descrição
hora GlideDateTime Tempo a ser avaliado
fuso horário Cadeia de caracteres Fuso horário
Tabela 17. Retorna
Tipo Descrição
Número Número de milissegundos até a hora de início do próximo item de programação. Retorna -1 se nunca.
var startDate = new GlideDateTime('2014-10-25 08:00:00');
var glideSchedule = new GlideSchedule('08fcd0830a0a0b2600079f56b1adb9ae', 'UTC');
gs.info(glideSchedule.whenNext(startDate));

Saída:

172800000
testScript(); 
function testScript() { 
var now = new GlideDateTime(); //current date and time
var sched = new GlideSchedule("<sys_id>"); // Use a cmn_schedule sys_id 
if (sched.isInSchedule(now)){ 
gs.info('We are in an active schedule window so whenNext() is not helpful'); 
} else{  
gs.info('Not currently in schedule so call whenNext()'); 
var msUntilNext = sched.whenNext(new GlideDateTime(), 'US/Pacific'); 
gs.info('Next schedule starts in '+msUntilNext+' milliseconds'); 
} 
}
\\ Output [schedule inactive)]:
\\ *** Script: Not currently in schedule so call whenNext() 
\\ *** Script: Next schedule starts in -1 milliseconds

Saída:

[Scheduled for future] *** Script: Not currently in schedule *** Script: Next schedule starts in 332894000 milliseconds