diff options
Diffstat (limited to 'python/position.py')
| -rw-r--r-- | python/position.py | 31 |
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)) |
