aboutsummaryrefslogtreecommitdiffstats
path: root/python/ops/__main__.py
blob: 34445466002756b0e4c35830b6e942919553255f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
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)