import argparse import os from functools import partial from serenitas.analytics.bbg_helpers import init_bbg_session from serenitas.utils.pool import dawn_pool from serenitas.utils import get_redis_queue from .process_queue import process_indicative, process_upload, terminate_list os.environ["SERENITAS_APP_NAME"] = "process_queue" parser = argparse.ArgumentParser() parser.add_argument( "-n", "--no-upload", action="store_true", help="do not upload to Globeop" ) args = parser.parse_args() r = get_redis_queue() with dawn_pool.connection() as conn, init_bbg_session() as session: for trade_type in [ "cds", "swaption", "repo", "future", "wire", "spot", "fx_swap", "capfloor", ]: p_list = partial( process_indicative, trade_type=trade_type, upload=not args.no_upload, session=session, conn=conn, ) r.transaction(p_list, trade_type) p_upload = partial( process_upload, trade_type=trade_type, upload=not args.no_upload, ) r.transaction(p_upload, trade_type) for trade_type in ("cds", "swaption", "capfloor"): for fund in ("SERCGMAST", "BOWDST", "BRINKER"): key = f"{trade_type}_{fund}_termination" t_list = partial( terminate_list, key=key, upload=not args.no_upload, conn=conn ) r.transaction(t_list, key)