Utilisez la fonction de recherche de pointeur de fichier pour stocker la position f.tell() après chaque lecture dans un fichier, et commencez la lecture à partir de la nouvelle position dans la boucle suivante
with open('access.log') as f:
f.seek(n)
## processing
f.tell()
## save the newest postions to a file
Une idée moins pertinente est que la tâche planifiée au niveau du système coupe le journal nginx à 0 heures tous les jours et l'enregistre par date. J'ai ce script et il s'exécute de manière très stable. envoyez-le en cas de besoin.
S'il s'agit d'un journal, il doit avoir un horodatage. L'utilisation de SQLite pour l'enregistrement et les requêtes est une option
Il y a 2 façons de penser :
Utilisez la fonction de recherche de pointeur de fichier pour stocker la position
f.tell()
après chaque lecture dans un fichier, et commencez la lecture à partir de la nouvelle position dans la boucle suivanteUne idée moins pertinente est que la tâche planifiée au niveau du système coupe le journal nginx à 0 heures tous les jours et l'enregistre par date. J'ai ce script et il s'exécute de manière très stable. envoyez-le en cas de besoin.