J'essaie d'utiliser un fichier (csv, json, txt, format non décidé) dans lequel je peux laisser tomber quelques lignes de données. Un script python sera lancé sur cron toutes les 5 minutes et vérifiez le fichier s'il y a quelque chose de nouveau et s'il y en a, traitez-le et supprimez chaque ligne au fur et à mesure de son traitement.Modifier le fichier en cours de traitement par le script python
J'essaie d'éviter une situation où j'ouvre le fichier, faire quelques changements et l'enregistrer alors que le processus est venu a saisi les données et vidé le fichier, mais mon sauver l'écrit avant.
Je pensais que le Le seul moyen de sécuriser ce processus est de le faire traiter dans un dossier et de rechercher de nouveaux fichiers, toutes les modifications seront supprimées dans un nouveau fichier. Il n'y a donc jamais de risque que cela se produise.
Y a-t-il un meilleur moyen, ou est-ce la meilleure approche?
Vous ne savez pas si c'est ce que vous cherchez: https://stackoverflow.com/questions/30407352/how-to-prevent-a-race-condition-when-multiple-processes-attempt-to-write-to- et – RetardedJoker
Je seconde la suggestion ci-dessus. Les verrous au niveau du système de fichiers sont suffisants à cet effet. Vous pouvez également essayer d'exécuter le script python en tant que démon gérant des événements inotify si votre système de fichiers le supporte. Voir [suggestions pour les solutions inotify et crossplatform dans cet article] (https://stackoverflow.com/q/12582720/1328439) –