diff options
Diffstat (limited to 'python/trade_dataclasses.py')
| -rw-r--r-- | python/trade_dataclasses.py | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/python/trade_dataclasses.py b/python/trade_dataclasses.py index 8aa2cd64..c05ee741 100644 --- a/python/trade_dataclasses.py +++ b/python/trade_dataclasses.py @@ -213,14 +213,16 @@ class BbgDeal(Deal): with cls._conn.cursor() as c: try: c.executemany(cls._bbg_sql_insert, cls._bbg_insert_queue) - c.executemany(cls._sql_insert, cls._insert_queue) except UniqueViolation as e: logger = logging.getLogger(__name__) logger.warning(e) cls._conn.rollback() - cls._conn.commit() - cls._bbg_insert_queue.clear() - cls._insert_queue.clear() + else: + c.executemany(cls._sql_insert, cls._insert_queue) + cls._conn.commit() + finally: + cls._bbg_insert_queue.clear() + cls._insert_queue.clear() @dataclass |
