aboutsummaryrefslogtreecommitdiffstats
path: root/python/position.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/position.py')
-rw-r--r--python/position.py31
1 files changed, 21 insertions, 10 deletions
diff --git a/python/position.py b/python/position.py
index e49dc2aa..6c071097 100644
--- a/python/position.py
+++ b/python/position.py
@@ -377,16 +377,27 @@ if __name__ == "__main__":
dawn_conn = dawn_engine.raw_connection()
serenitas_conn = serenitas_pool.getconn()
- with init_bbg_session() as session:
- update_securities(dawn_engine, session, args.workdate)
- populate_cashflow_history(
- dawn_engine, session, args.workdate, ("SERCGMAST", "BRINKER", "BOWDST")
- )
- update_fx(dawn_conn, session, ["EURUSD", "CADUSD"])
- update_swap_rates(serenitas_conn, session)
- update_cash_rates(serenitas_conn, session)
- for vol_type in ["N", "V"]:
- update_swaption_vol(serenitas_conn, session, vol_type=vol_type)
+ retry = 0
+ max_tries = 2
+ while retry < max_tries:
+ try:
+ with init_bbg_session() as session:
+ update_securities(dawn_engine, session, args.workdate)
+ populate_cashflow_history(
+ dawn_engine,
+ session,
+ args.workdate,
+ ("SERCGMAST", "BRINKER", "BOWDST"),
+ )
+ update_fx(dawn_conn, session, ["EURUSD", "CADUSD"])
+ update_swap_rates(serenitas_conn, session)
+ update_cash_rates(serenitas_conn, session)
+ for vol_type in ["N", "V"]:
+ update_swaption_vol(serenitas_conn, session, vol_type=vol_type)
+ except RuntimeError:
+ retry += 1
+ else:
+ break
serenitas_pool.putconn(serenitas_conn)
# with init_bbg_session(BBG_IP) as session:
# init_fx(session, engine, pd.datetime(2013, 1, 1))