O agendamento de tarefas agendadas do Windows Server 2016 deve estar no futuro


20

Temos um servidor de 2012 que possui cerca de 20 tarefas agendadas usadas para monitoramento. Criamos um servidor de 2016 para substituí-lo e, à medida que passo as tarefas para o novo servidor, encontro um problema. A maioria das nossas tarefas é executada a cada poucos minutos.

No Server 2012, agendamos a tarefa para iniciar às 1200 do dia atual (um horário no passado) e ocorrer novamente a cada X minutos. A tarefa seria iniciada no próximo horário agendado. Perfeito.

No Server 2016, os agendamentos iniciados no passado não são executados. Então tivemos que agendá-lo para começar no futuro. Tudo bem até você reiniciar. Agora, a hora de início está no passado e não será executada. Ele nem registra uma execução com falha. A coluna Próximo tempo de execução mostra que deve ser executada, mas não é executada.

Exemplo de programação atual

Além de criar dois gatilhos, um que inicia no futuro e outro que inicia na reinicialização (o que não queremos fazer, pois algumas tarefas devem ser executadas apenas em horários especificados), existe uma maneira melhor? Isto parece ser um inseto. A versão de 2012 funcionou muito bem.

ATUALIZAR

Existe uma solução alternativa para isso. Crie uma programação única que seja executada indefinidamente. Isso funciona após a reinicialização, exatamente como você esperaria. Sei que isso não é bom para horários "estranhos", mas funciona bem para coisas que queremos executar a cada 3 minutos ou o que for.


1
Estou tendo o mesmo problema e não encontrei uma correção. Você já? Parece um bug tão grande. Também encontrei a tarefa do Google Chrome, mas a tarefa que fiz não. Então, talvez seja um problema de permissão mais profundo?
Tyler

Descobri que, se eu criasse uma agenda "única", iniciada no futuro e executada indefinidamente, funcionaria. Ainda não encontrei mais nada.
steveb

Um erro tão estranho a ser permitido no sistema. Não posso acreditar que você e eu o encontramos. Existe uma maneira de denunciá-lo para que possa ser resolvido?
Tyler

Esse problema também me pegou ao migrar do Windows Server 2012 para 2016 e acho que encontrei uma explicação para ele (veja minha resposta). Tem certeza de que as versões anteriores do Windows se comportaram de maneira diferente?
Heinzi

2
Sim. 2012 se comportou da maneira que todos assumimos que deveria.
steveb

Respostas:


5

FYI - Confirmei com a Microsoft através de um tíquete de suporte que abri ontem que isso é um bug. O técnico de suporte confirmou que é classificado internamente como um bug e um patch está sendo desenvolvido. Recebi uma data de lançamento do patch para julho / agosto.

Isso afeta o Windows 10 e o Server 2016. Meus sistemas de teste foram corrigidos até a atualização cumulativa de ontem. O problema não ocorreu no Server 2012 R2 e Windows 7.

Edição - possivelmente em agosto, mas definitivamente em setembro de 2017, esse problema foi corrigido nos sistemas em que eu o testei.


Obrigado pela informação! Eu estava ficando louco de frustração. Minhas tarefas foram importadas de uma caixa antiga do Server 2012 para uma nova máquina do Server 2016. Foi quando comecei a ver esse problema.
David Gunderson

Aprecio seus esforços. Você sabe se um patch já foi lançado (outubro de 2017)? você tem uma referência a um artigo relevante da KB ou algo desse tipo?
precisa saber é o seguinte

Não tenho um KB para isso, mas descobri nos testes que, desde o patch cumulativo de setembro de 2017, o problema desapareceu, por isso acredito que agora está corrigido.
Tom Collins

A partir de fevereiro de 2018, no Win Server 2016, as tarefas "Repetir tarefa a cada XX minutos" não serão executadas se eu desabilitá-las e reativá-las.
Ben Amada

4

Esse problema parece afetar apenas as tarefas com o Repeat task every: ...conjunto de opções.

Até agora, tive a impressão de que trigger at X, then repeat every 10 minutesé apenas uma maneira desnecessariamente complicada de escrever trigger at every xx:x0no Agendador de tarefas.

Aparentemente, não é. Aparentemente, significa exatamente o que diz: A tarefa é acionada X e então, e somente então é repetida. Sem gatilho inicial, sem repetição. Parece que não há uma maneira simples de agendar trigger at every xx:x0no Agendador de Tarefas (ou existe? Isso pode ser uma boa pergunta separada sobre falha do servidor.) O fato de a coluna "Próximo tempo de execução" mostrar algo diferente não é muito útil.

"Resolvemos" esse problema agendando a tarefa para execução às 12:00 todos os dias (em vez de apenas um dia) e, em seguida, repetindo a cada ...minuto por 1 dia. Isso significa que, se ocorrer uma reinicialização, às 12:00, as tarefas serão retomadas. Não é o ideal, mas é um compromisso aceitável aqui.

Eu acho que você pode reduzir o "tempo de inatividade da tarefa" para 1 hora, criando um gatilho para cada hora e repetir a tarefa a cada ...minuto por 1 hora.

Surpreendentemente, parece que sempre foi assim (veja o primeiro comentário a esta resposta ), que nunca percebemos até agora. De acordo com os outros comentários da resposta vinculada, a maneira canônica de resolver esse problema é ativar a Run task as soon as possible after a scheduled start is missedopção.

Portanto, sim, é um bug, mas é a coluna "Next Run Time" que é de buggy, não a programação real.


O único problema ao agendá-lo por um dia é que estas são algumas de nossas tarefas de monitoramento. Não quero passar horas sem eles.
steveb

-1

1 . O Windows 2016 Server exige necessariamente estas opções em seu trabalho:

  • Execute a tarefa o mais rápido possível, depois que um início do planejamento for perdido ou
  • Se a tarefa falhar, reinicie todos os

Observei essas opções na captura de tela

2 . Adicione gatilho adicional. Tal como:

  • Ao criar ou editar tarefas
  • Quando você começa

etc. no sentido de: mover uma tarefa para iniciar no horário desejado

3 . Em algumas tarefas no Windows 2016 - implementou essa abordagem.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.