Quelle serait la meilleure façon de gérer la récupération après sinistre légère pour mon programme?Récupération après incident légère pour Python
J'ai un programme Python qui exécute un certain nombre de cas de test et les résultats sont stockés dans un dictionnaire qui sert de cache. Si je pouvais enregistrer (puis restaurer) chaque élément ajouté au dictionnaire, je pourrais simplement exécuter à nouveau le programme et la mise en cache fournirait une récupération de panne appropriée.
- Vous pouvez supposer que les clés et les valeurs dans le dictionnaire sont facilement convertibles en chaînes de caractères. en utilisant soit str ou le pickle module.
- Je veux que ce soit complètement plate-forme - bien au moins en tant que plateforme croisée que Python est
- Je ne veux pas simplement écrire chaque valeur à un fichier et le charger dans mon programme pourrait se bloquer pendant que j'écris le fichier
- MISE À JOUR: Ceci est destiné à être un module léger, donc un SGBD est hors de question.
- MISE À JOUR: Alex est correct que je ne suis pas réellement besoin pour protéger contre les accidents lors de l'écriture, mais il y a des circonstances où je voudrais être en mesure de mettre fin à la main dans un état récupérable.
- MISE À JOUR Ajout d'une solution très limitée en utilisant l'entrée standard ci-dessous
Vous avez raison de dire qu'il n'y a aucune raison pour que mon programme plante lors de l'écriture de données dans un fichier et que la protection soit probablement paranoïaque. Cependant, il y a parfois des circonstances où il serait pratique pour moi de terminer manuellement le programme et de le récupérer. – Casebash
Casebash: Ne devriez-vous pas piéger le signal d'interruption tout en effectuant des opérations sensibles? –
Bon point. Je peux alors le régler pour terminer dès que l'opération sensible est terminée – Casebash