J'ai un script Python qui est conçu pour fonctionner "pour toujours", qui dans ce cas est jusqu'au prochain redémarrage planifié tous les soirs à minuit et quart. Ce qu'il fait, c'est de vérifier l'heure, puis attendez l'heure complète suivante. Chaque heure, il analyse certaines données d'une page Web, les stocke dans une base de données et envoie un e-mail à un partenaire externe.Le planificateur de tâches Windows termine le script python, opcode 2
Il démarre au démarrage du système à l'aide de Windows Task Scheduler.
Il fonctionne sans problème depuis quelques mois, jusqu'à minuit dimanche dernier. L'ordinateur a redémarré comme d'habitude à 0:25. Après cela, le journal montre que le script est démarré, puis se termine à peu près immédiatement avec l'opcode de retour 2. Absolument rien de ce que je peux penser à changé pour provoquer cela, sauf peut-être une mise à jour Windows de quelque sorte.
Des idées qui pourraient causer ce problème?
C'est un pseudo-code, toutes les distractions supprimées, de ce que le script verra dans la première manche:
scriptRunning = True
timeoutDelay = -1
def getTimeoutDelay(lastFetchTime):
# calculate and return timeout delay in seconds
delay = (60 - int(lastFetchTime.strftime("%M"))) * 60 - int(lastFetchTime.strftime("%S"))
return delay
# end def
while scriptRunning:
if timeoutDelay > -1:
#Do the magic
pass
lastFetchTime = datetime.now()
timeoutDelay = getTimeoutDelay(lastFetchTime)
#endwhile scriptRunning
Le script semble fonctionner comme prévu si je commence à partir de la ligne de commande manuellement.
Veuillez afficher la définition XML à partir de 'schtasks/query/tn YOUR_TASK_NAME/xml'. – eryksun