Prima di tutto, parliamo delle insidie che ho incontrato, i problemi in produzione, programmo l'esecuzione dello script Python e monitoro il processo, il tempo di esecuzione dello script Python è molto più lungo di quello che conto nello script Python. Il tempo per monitorare l'esecuzione degli script Python è di 36 ore, mentre il tempo di auto-esecuzione negli script Python è di circa 4 ore. La prima cosa che mi viene in mente dopo il problema è che c'è un problema con Linux, e non ho trovato anomalie nei vari log. Poi penso al py2neo usato in python per scrivere dati in modo asincrono, bloccando l'esecuzione del processo. Infine, il problema è stato riscontrato: il modo in cui lo script python usa time.clock() per contare il tempo di esecuzione della CPU, non quello del programma. Poi, confrontiamo diverse statistiche temporali in Python:
Metodo 1:
datetime.datetime.now() ottiene la data corrente e, dopo la fine dell'esecuzione del programma, il valore temporale ottenuto da questo metodo è il tempo di esecuzione del programma.
Metodo 2:
tempo.tempo() per ottenere il tempo corrente dall'epoca (In pochi secondi)。 Se l'orologio di sistema li fornisce, può esserci una frazione di secondo. Quindi questo luogo restituisce un tipo a virgola mobile. Qui si ottiene anche il tempo di esecuzione del programma.
Metodo 3:
time.clock() restituisce l'ora della CPU da quando il programma è iniziato o è stato chiamato per la prima volta. Questo ha la stessa precisione della registrazione di sistema. Il ritorno è anch'esso di tipo virgola mobile. Quello che ottieni qui è il tempo di esecuzione della CPU. Nota: Tempo di esecuzione del programma = tempo CPU + tempo di Io + tempo di ibernazione o attesa
Ecco come testo il tempo di esecuzione della funzione usando il metodo 2:
|