У меня есть система, которая по запросу делает такие вещи, как
извлекает zip, создает каталоги, вставляет информацию базы данных
Может произойти сбой по любой причине на любом этапе, например, разрешения, неправильный формат файла, ошибка базы данных.
Я не хочу, чтобы система имела частичное выполнение из-за каких-либо исключений.
Как именно я бы внедрил систему отката?
Я думаю, что для каждого действия вставьте в стек или базу данных выполнение строковой функции противоположного действия, а для любого сбоя выдвиньте его и выполните eval для него.
Есть еще какие-нибудь встроенные способы или какие-либо советы, прежде чем я начну это?