diff options
Diffstat (limited to 'python/trade_dataclasses.py')
| -rw-r--r-- | python/trade_dataclasses.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/python/trade_dataclasses.py b/python/trade_dataclasses.py index 9f89a223..af0790c4 100644 --- a/python/trade_dataclasses.py +++ b/python/trade_dataclasses.py @@ -10,6 +10,8 @@ from serenitas.analytics.index import CreditIndex from serenitas.utils.db import dbconn from process_queue import rename_keys from lru import LRU +from psycopg2.errors import UniqueViolation +import logging Fund = Literal["SERCGMAST", "BRINKER", "BOWDST"] Portfolio = Literal[ @@ -211,7 +213,12 @@ class BbgDeal(Deal): with cls._conn.cursor() as c: c.executemany(cls._bbg_sql_insert, cls._bbg_insert_queue) c.executemany(cls._sql_insert, cls._insert_queue) - cls._conn.commit() + try: + cls._conn.commit() + except UniqueViolation as e: + logger = logging.getLogger(__name__) + logger.warning(e) + cls._conn.rollback() cls._bbg_insert_queue.clear() cls._insert_queue.clear() |
