Nous avons un serveur 2012 qui a environ 20 tâches planifiées qui sont utilisées pour la surveillance. Nous avons construit un serveur 2016 pour le remplacer et lorsque je déplace des tâches vers le nouveau serveur, j'ai rencontré un problème. La plupart de nos tâches s'exécutent toutes les quelques minutes.
Dans Server 2012, nous planifions que la tâche commence à 1200 heures du jour en cours (donc une heure dans le passé) et se reproduise toutes les X minutes. La tâche commencerait à sa prochaine heure prévue. Parfait.
Dans Server 2016, les planifications qui démarrent dans le passé ne s'exécutent pas. Nous avons donc dû planifier son démarrage à l'avenir. C'est bien jusqu'à ce que vous redémarriez. Maintenant, l'heure de début est passée et ne fonctionnera pas. Il n'enregistre même pas une exécution échouée. La colonne Next Run Time indique qu'elle doit s'exécuter mais ne s'exécute pas.
Outre la création de deux déclencheurs, l'un qui démarre dans le futur et l'autre qui démarre au redémarrage (ce que nous ne voulons pas faire car certaines tâches ne doivent s'exécuter qu'à des heures spécifiées), existe-t-il une meilleure façon? Cela semble être un bug. La version 2012 a très bien fonctionné.
Il existe une solution pour cela. Créez un calendrier unique qui s'exécute indéfiniment. Cela fonctionne après le redémarrage comme vous vous en doutez. Je sais que ce n'est pas génial pour les horaires qui sont "bizarres" mais fonctionne bien pour les choses que nous voulons exécuter toutes les 3 minutes ou autre.
Pour info - J'ai confirmé auprès de Microsoft via un ticket d'assistance que j'ai ouvert hier qu'il s'agit d'un bug. Le support technique a confirmé qu'il est classé en interne comme un bug et qu'un patch est en cours de développement. On m'a donné une date cible de sortie du patch pour juillet/août.
Cela affecte à la fois Windows 10 et Server 2016. Mes systèmes de test ont été corrigés jusqu'à la mise à jour cumulative d'hier. Le problème ne s'est pas produit dans Server 2012 R2 et Windows 7.
EDIT - Depuis août, mais certainement septembre 2017, ce problème est résolu sur les systèmes sur lesquels je l'ai testé.
Ce problème semble affecter uniquement les tâches avec le Repeat task every: ...
jeu d'options.
Jusqu'à présent, j'avais l'impression que trigger at X, then repeat every 10 minutes
n'est qu'une manière inutilement compliquée d'écrire trigger at every xx:x0
dans le Planificateur de tâches.
Apparemment non. Apparemment, cela signifie exactement ce qu'il dit: La tâche est déclenchée à X
puis, et seulement alors , elle est répétée. Pas de déclencheur initial, pas de répétition. Il semble qu'il n'y ait pas de moyen simple de planifier trigger at every xx:x0
dans le Planificateur de tâches (ou existe-t-il? Cela pourrait constituer une bonne question distincte pour Serverfault.) Le fait que la colonne "Next Run Time" affiche quelque chose de différent n'est pas très utile.
Nous "résolvons" ce problème en planifiant l'exécution de la tâche à 12 h 00 tous les jours (au lieu d'un seul jour), puis en répétant chaque ...
minutes pendant 1 jour. Cela signifie que si un redémarrage se produit, à 12h00, les tâches reprendront. Ce n'est pas idéal, mais c'est un compromis acceptable ici.
Je suppose que vous pouvez réduire le "temps d'arrêt des tâches" à 1 heure en créant un déclencheur pour chaque heure et faire répéter la tâche tous les ...
minutes pendant 1 heure.
Étonnamment, il semble que cela ait toujours été comme ça (voir le premier commentaire à cette réponse ), nous ne l'avons jamais remarqué jusqu'à présent. Selon les autres commentaires de la réponse liée, la manière canonique de résoudre ce problème est d'activer le Run task as soon as possible after a scheduled start is missed
option.
Donc, oui, c'est un bug, mais c'est la colonne "Next Run Time" qui est buggée, pas la programmation réelle.