Referência do período - Agendador de instâncias na AWS

Referência do período

Os períodos contêm condições que permitem definir as horas, os dias e os meses específicos em que uma instância será executada. Um período pode conter várias condições, mas todas elas devem ser verdadeiras para que o Agendador de instâncias na AWS aplique a ação de início ou interrupção apropriada.

Horários de início e interrupção

Os campos begintime e endtime definem quando o Agendador de instâncias na AWS iniciará e interromperá as instâncias. Se você especificar somente um horário de início, a instância deverá ser interrompida manualmente. Observe que, se você especificar um valor no campo weekdays, a solução usará esse valor para determinar quando interromper a instância. Por exemplo, se você especificar um valor 9h para begintime sem endtime e um valor para weekdays de segunda a sexta-feira, a instância será interrompida às 23h59 de sexta-feira, a menos que você tenha agendado um período adjacente.

Da mesma forma, se você especificar apenas um horário de interrupção, a instância deverá ser iniciada manualmente. Se você não especificar nenhum horário, essa solução usará as regras de dias da semana, dias do mês ou meses para iniciar e interromper instâncias no início/fim de cada dia, conforme apropriado.

Os valores de begintime e endtime do seu período devem estar no fuso horário especificado no agendamento. Se você não especificar um fuso horário no agendamento, a solução usará o fuso horário especificado quando você iniciar a solução.

Se seu agendamento contiver vários períodos, recomendamos que você sempre especifique um valor para begintime e endtime nos períodos.

Se você iniciar uma instância antes do horário de início especificado, ela será executada até o fim do período de execução. Por exemplo, um usuário pode definir um período que inicia uma instância diariamente às 9h e que interrompe essa instância às 17h.

Início e interrupção agendados de 9–17

image6

Se você iniciar manualmente essa instância às 5h, a solução interromperá a instância às 17h. Se você usar o campo retain running, a solução não interromperá a instância às 17h.

Interrupção agendada às 5h

image7

Se você interromper uma instância antes do horário de interrupção especificado, a instância não será executada até o início do próximo período de execução. Continuando com o exemplo anterior, se o usuário interromper a instância às 13h na quarta-feira, a solução não iniciará a instância até às 9h da quinta-feira.

Cronograma mostrando o início agendado às 9h, a interrupção manual às 13h e a parada agendada às 17h.

image8

Períodos adjacentes

A solução não interromperá a execução de instâncias se o agendamento contiver dois períodos de execução adjacentes. Por exemplo, se você tiver um cronograma com um período com um valor de endtime definido como 23h59 e outro com um valor de begintime definido como meia-noite do dia seguinte, a solução não interromperá a execução de instâncias, se não houver regras de weekdays, monthdays ou months que interrompam as instâncias.

Para implementar um agendamento que execute instâncias das 9h de segunda-feira às 17h de sexta-feira, a solução requer três períodos. O primeiro período executa as instâncias aplicáveis das 9h às 23h59 de segunda-feira. O segundo período executa as instâncias da meia-noite de terça-feira até 23h59 de quinta-feira. O terceiro período executa as instâncias da meia-noite de sexta-feira até 17h de sexta-feira. Para obter mais informações, consulte Exemplos de agendamento.

Dias da semana

O campo weekdays define em quais dias durante a semana uma instância será executada. Você pode especificar uma lista de dias, um intervalo de dias, a n^ ocorrência desse dia em um mês ou a última ocorrência desse dia em um mês. A solução aceita nomes de dias abreviados (seg) e números (0).

Dias do mês

O campo monthdays define em quais dias do mês uma instância será executada. Você pode especificar uma lista de dias, um intervalo de dias, a cada n^ dia do mês, o último dia do mês ou o dia da semana mais próximo de uma data específica.

Meses

O campo months define em quais meses uma instância será executada. Você pode especificar uma lista de meses, um intervalo de meses ou a cada n^ mês. A solução aceita nomes de meses abreviados (jan) e números (1).

Definições de período

A tabela de configuração do Agendador de instâncias na AWS no Amazon DynamoDB contém definições de período. Uma definição de período pode conter os campos a seguir. Observe que alguns campos são compatíveis com caracteres não padrão do Cron.

Importante

Você deve especificar pelo menos um dos itens a seguir: begintime, endtime, weekdays, months ou monthdays.

Campo Descrição

begintime

O horário, no formato HH:MM, que a instância será iniciada.

description

Uma descrição opcional do período.

endtime

O horário, no formato HH:MM, que a instância será interrompida.

months

Insira uma lista de meses delimitada por vírgula, ou um intervalo hifenizado de meses, durante o qual a instância será executada. Por exemplo, insira jan, feb, mar ou 1, 2, 3 para executar uma instância durante esses meses. Ou então, você pode inserir jan-mar ou 1-3.

Você também pode agendar uma instância para ser executada a cada n^ mês ou a cada n^ mês em um intervalo. Por exemplo, insira Jan/3 ou 1/3 para executar uma instância a cada três meses a partir de janeiro. Insira Jan-Jul/2 para executar a cada dois meses, de janeiro a julho.

monthdays

Insira uma lista delimitada por vírgulas de dias do mês, ou um intervalo hifenizado de dias, durante o qual a instância será executada. Por exemplo, insira 1, 2, 3 ou 1-3 para executar uma instância durante os primeiros três dias do mês. Você também pode inserir vários intervalos. Por exemplo, insira 1-3, 7-9 para executar uma instância do 1^ ao 3^ e do 7^ ao 9^.

Você também pode agendar uma instância para ser executada a cada n^ dia do mês ou a cada n^ dia do mês em um intervalo. Por exemplo, insira 1/7 para executar uma instância a cada sétimo dia, começando no 1^. Insira 1-15/2 para executar uma instância a cada dois dias, do 1^ ao 15^.

Insira L para executar uma instância no último dia do mês. Insira uma data e W para executar uma instância no dia da semana mais próximo da data especificada. Por exemplo, insira 15W para executar uma instância no dia da semana mais próximo do 15^.

name

O nome usado para identificar o período. Esse nome deve ser exclusivo e incluir somente caracteres alfanuméricos, hifens (-) e sublinhados (_).

weekdays

Insira uma lista delimitada por vírgula dos dias da semana, ou um intervalo de dias da semana, durante os quais a instância será executada. Por exemplo, insira 0, 1, 2 ou 0-2 para executar uma instância de segunda a quarta-feira. Você também pode inserir vários intervalos. Por exemplo, insira 0-2, 4-6 para executar uma instância todos os dias, exceto quinta-feira.

Você também pode agendar uma instância para ser executada a cada n^ ocorrência de um dia da semana no mês. Por exemplo, insira Mon#1 ou 0#1 para executar uma instância na primeira segunda-feira do mês.

Insira um dia e L para executar uma instância na última ocorrência desse dia da semana no mês. Por exemplo, insira friL ou 4L para executar uma instância na última sexta-feira do mês.

Quando um período contém várias condições, todas elas devem ser verdadeiras para que o Agendador de instâncias na AWS aplique a ação apropriada. Por exemplo, um período que contém um campo weekdays com um valor de Mon#1 e um campo months com um valor de Jan/3 aplicará a ação na primeira segunda-feira do trimestre.

Marcação automática

O Agendador de instâncias na AWS pode adicionar automaticamente tags a todas as instâncias que ele inicia ou interrompe. Você pode especificar uma lista de nomes de tags ou pares tagname=tagvalue nos parâmetros Tags iniciadas e Tags interrompidas. A solução também inclui macros que permitem adicionar informações de variáveis às tags:

  • {scheduler}: o nome da pilha do agendador

  • {year}: o ano (quatro dígitos)

  • {month}: o mês (dois dígitos)

  • {day}: o dia (dois dígitos)

  • {hour}: a hora (dois dígitos, formato de 24 horas)

  • {minute}: o minuto (dois dígitos)

  • {timeszone}: o fuso horário

A tabela a seguir fornece exemplos de diferentes entradas e as tags resultantes.

Exemplo de entrada de parâmetro Tag do Agendador de instâncias

ScheduleMessage=Started by scheduler {scheduler}

ScheduleMessage=Started by scheduler MyScheduler

ScheduleMessage=Started on {year}/{month}/{day}

`ScheduleMessage=Started on 2017/07/06 `

ScheduleMessage=Started on {year}/{month}/{day} at {hour}:{minute}

ScheduleMessage=Started on 2017/07/06 at 09:00

ScheduleMessage=Started on {year}/{month}/{day} at {hour}:{minute} {timezone}

ScheduleMessage=Started on 2017/07/06 at 09:00 UTC

Quando você usa o parâmetro Tags iniciadas, as tags são excluídas automaticamente quando o agendador interrompe a instância. Quando você usa o parâmetro Tags interrompidas, as tags são excluídas automaticamente quando a instância é iniciada.