aboutsummaryrefslogtreecommitdiffstats
path: root/python/ops/__main__.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/ops/__main__.py')
-rw-r--r--python/ops/__main__.py51
1 files changed, 51 insertions, 0 deletions
diff --git a/python/ops/__main__.py b/python/ops/__main__.py
new file mode 100644
index 00000000..34445466
--- /dev/null
+++ b/python/ops/__main__.py
@@ -0,0 +1,51 @@
+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)