From 8944755dc43afbdb5cc28d260d49696a6babd5a2 Mon Sep 17 00:00:00 2001 From: Ethan Dalool Date: Sun, 3 Jan 2021 00:19:08 -0800 Subject: [PATCH] Rollback if an on_commit action fails. --- etiquette/photodb.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/etiquette/photodb.py b/etiquette/photodb.py index 2298bdb..f26c308 100644 --- a/etiquette/photodb.py +++ b/etiquette/photodb.py @@ -996,7 +996,13 @@ class PDBSQLMixin: continue args = task.get('args', []) kwargs = task.get('kwargs', {}) - task['action'](*args, **kwargs) + action = task['action'] + try: + action(*args, **kwargs) + except Exception as exc: + self.log.debug(f'{action} raised {repr(exc)}.') + self.rollback() + raise self.savepoints.clear() self.sql.commit()