lundi 14 mai 2018

Best practice for rollbacking a multi-purpose python script

I'm sorry if the title is a little ambiguous. Let me explain what I mean by that : I have a python script that does a few things : creates a row in a MySQL table, inserts a json document to a MongoDB, Updates stuff in a local file, and some other stuff, mostly related to databases. Thing is, I want the whole operation to be atomic. Means - If anything during the process I mentioned failed, I want to rollback everything I did. I thought of implementing a rollback function for every 'create' function I have. But I'd love to hear your opinion for how to make some sort of a linked list of operations, in which if any of the nodes failed, I want to discard all the changes done in the process. How would you design such a thing? Is there a library in Python for such things?

Aucun commentaire:

Enregistrer un commentaire