Eu não sei como o Cron faz isso, mas aqui está o problema da Microsoft com o Agendador de Tarefas.
Avançar pela frente
Existem várias maneiras possíveis de um programa do agendador se comportar para tarefas agendadas no intervalo de tempo causado pela transição do SF:
-
Método 1 : como esses minutos não aparecem para esse dia nesse fuso horário, o agendador pode ignorar todas as tarefas programadas para ocorrer durante esses minutos. Esse comportamento pode ser apropriado para alguns aplicativos; o agendador não impede que esses horários sejam colocados no agendamento.
-
Método 2 : inicie essas tarefas no tempo real em que elas teriam sido iniciadas, caso o horário de verão não tivesse ocorrido. Por exemplo, uma tarefa que está programada para ocorrer às 2:05 da manhã seria executada às 3:05 DST. Essa abordagem pode ser útil para tarefas que devem ser escalonadas e sequenciadas. No entanto, essa abordagem pode fazer com que uma tarefa seja executada após outra tarefa dependente da primeira tarefa. Por exemplo, se uma tarefa estiver agendada para 2:30 e uma tarefa de acompanhamento for agendada às 3:15, a tarefa 3:15 poderá ser executada primeiro, seguida pela tarefa 2:30, que agora será executada às 3:30.
-
Método 3 : Comprima o tempo e execute as tarefas perdidas na ordem em que foram agendadas para execução em algum momento após a transição. Esse comportamento mantém as tarefas em ordem. No entanto, se várias tarefas forem agendadas durante o intervalo de tempo do SF, elas parecem começar quase simultaneamente. Quaisquer interdependências que requerem sincronização e sequência específicas podem causar falhas de etapas na tarefa. Esse parece ser o método usado pelo agendador da Microsoft mais recente.
Queda de volta
Seguem-se várias maneiras de um programa de agendamento se comportar para tarefas agendadas durante o FB, quando o tempo se repete:
-
Método 1 : Como o tempo se repete, execute a tarefa novamente a cada momento em que o horário programado ocorrer. Isso não parece ser um requisito comum; no entanto, esse comportamento pode ser apropriado para alguns aplicativos.
-
Método 2 : inicie essas tarefas no tempo real em que elas teriam iniciado se o DST não tivesse ocorrido. Por exemplo, uma tarefa que está programada para 2:05 da manhã é executada na hora padrão 1:05, que é a segunda hora do relógio de 1:05.
-
Método 3 : inicie as tarefas no hora marcada no relógio de parede. este comportamento atrasa qualquer tarefa que seja programado para começar às 2:00 DST em essa data por uma hora, mas todas as tarefas além desse tempo ocorrem no seqüência e no tempo real intervalo que você deseja. O mais recente O agendador da Microsoft parece usar este método. No entanto, tarefas que são programado para ocorrer exatamente no momento de transição pode ser executado em que momento. Por exemplo, uma tarefa que é programado para ocorrer às 2:00 da manhã pode executado às 1:00 da manhã, horário padrão (como em método 2).