Validazione nell’utilizzo del modulo croniter di python

validazione nell’utilizzo del modulo croniter di python

la chiamata is_valid applicata al monitoraggio dei crontab

nel progetto che sto seguendo, devo monitorare tramite un unico pannello, tutti i vari job sparsi nei nostri server. Capire quali girano e con quale frequenta.

Inizialmente li abbiamo dovuti implementare ciascuno, cominciando con un solo server pilota, per verificare in primis il funzionamento ma anche per aggiugere la chiamata api che comunica con il mio progetto.

Ho esposto un servizio per ricevere i parametri e qui controllo soprattutto che la sintassi della frequenza sia valida, altrimenti tutto quello che avviene in seguito non funzionerà nella maniera corretta. Di seguito uno screen

successivamente lato backend, una volta che il dato è acquisito, verifico la prossima volta che dovrebbe girare lo script grazie alla funzione get_next, e se non mi arriva comunicazione dell'effettivo lancio oppure ho comunicazione del lancio ma non dell'avvenuta fine esecuzione, allora notifico il problema.

Di seguito il pezzo di codice che, recuperando l'ultima esecuzione, calcola quando dovrebbe essere la successiva con la funzione get_next e se la data restituita è inferiore ad ADESSO, siamo di fronte ad un problema catturato

Maybe you might be interested

come usare un token a tempo per resettare la password in python
come usare un token a tempo per resettare la password in python

in questa mia prima esperienza ho usato la classe TimedJSONWebSignatureSerializer sulla versione 3.8

    alert = db.session.query(Job.script).distinct().filter(Job.giorno >= periodo_time)
dettagli = {}
for riga in alert:
quale = Job.query.filter_by(script=riga.script).order_by(Job.inizio.desc()).first()

i_anno, i_mese, i_giorno, i_ora, i_minuti, i_secondi = quale.inizio.strftime("%Y %m %d %H %M %S").split(' ')
partiamo_da = datetime(int(i_anno), int(i_mese), int(i_giorno), int(i_ora), int(i_minuti), int(i_secondi))
#entro_il = partiamo_da + timedelta(minutes=500)

cron = croniter.croniter(quale.cron, partiamo_da)
quale.successivo = cron.get_next(datetime)

quale.partiamo_da = partiamo_da
if (datetime.now() > quale.successivo):
quale.avvisa = 'KO'
else:
quale.avvisa = 'OK'

dettagli[riga.script] = quale

Maybe you might be interested

come aumentare un contatore in pyhon in un template jinja
come aumentare un contatore in pyhon in un template jinja

il codice seguente è stato scritto e testato nella versione 3.9 e utilizzando il namespace

utilizzare strpos e substr in un template con smarty

Begin, editor VI di linux. Che emozione

test audiometrico in python

Come l’intelligenza artificiale può arrivare a discriminare per etnia

Verificare che un anagramma di una stringa sia contenuto in un’altra stringa in PHP