3 votes

Comment obtenir l'état d'un travail à l'aide du planificateur ?

J'ai un travail programmé qui s'exécute sur Planificateur et j'aimerais connaître son statut. ("Success", "Failed") depuis python mais je ne trouve pas de documentation sur la façon d'obtenir le statut.

Prenons l'exemple du code suivant pour utiliser l'ordonnanceur :

import datetime as dt
import time

from scheduler import Scheduler

import scheduler.trigger as trigger

def foo():

    print("foo")

schedule = Scheduler()
schedule.minutely(dt.time(second=15), foo)
while True:  

    schedule.exec_jobs()

    time.sleep(1)

Je ne peux qu'imprimer le planificateur mais j'ai besoin d'imprimer le statut de l'exécution, est-ce possible ?

>>> print(schedule)  
max_exec=inf, tzinfo=None, priority_function=linear_priority_function, #jobs=9

type     function         due at                 due in      attempts weight
-------- ---------------- ------------------- --------- ------------- ------
MINUTELY foo(..)          2022-03-30 00:37:15   0:00:14         0/inf      1

Veuillez nous conseiller

0voto

jpotyka Points 88

La tâche elle-même n'a pas de message d'état ("Succès", "Échec") parce qu'elle ne sait pas si la logique de la fonction programmée a été "réussie". L'utilisateur doit donc programmer lui-même la logique pour savoir si l'exécution s'est déroulée comme il le souhaitait. Si vous voulez savoir si le travail a été exécuté, quel que soit le résultat, vous pouvez consulter le nombre d'exécutions. Le travail a les propriétés suivantes attempts , max_attempts y has_attempts_remaining à cette fin. Ici vous pouvez trouver la page de la documentation. Peut-être ceci exemple peut également vous aider.

Divulgation : je suis l'un des auteurs de la bibliothèque.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X