diff options
Diffstat (limited to 'python/task_server/rest.py')
| -rw-r--r-- | python/task_server/rest.py | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/python/task_server/rest.py b/python/task_server/rest.py index 8c538d41..91794787 100644 --- a/python/task_server/rest.py +++ b/python/task_server/rest.py @@ -1,6 +1,7 @@ import psycopg2 from psycopg2.extras import DictCursor -import datetime, redis +import datetime +import redis from intex.load_intex_collateral import intex_data from .globeop import download_data from .insert_tranche_quotes import insert_quotes @@ -8,6 +9,7 @@ from task_server import app from flask import request, g import json + def get_db(): db = getattr(g, 'db', None) if db is None: @@ -17,12 +19,14 @@ def get_db(): cursor_factory=DictCursor) return db + def get_queue(): q = getattr(g, 'queue', None) if q is None: q = g.queue = redis.Redis(unix_socket_path='/run/redis/redis.sock') return q + @app.teardown_appcontext def close_db(error): """Closes the database again at the end of the request.""" @@ -30,30 +34,37 @@ def close_db(error): if db: db.close() + @app.route('/insert_intex_data') def intex(): db = get_db() intex_data(db, request.args.get('workdate', str(datetime.date.today()))) return '', 204 + @app.route('/globeop', methods=['PUT']) def globeop(): - download_data(request.form.get('workdate', datetime.date.today(), lambda s: datetime.datetime. + download_data(request.form.get('workdate', datetime.date.today(), + lambda s: datetime.datetime. strptime(s, "%Y-%m-%d").date())) return '', 202 + @app.route('/insert_quotes', methods=['PUT']) def insert_tranches(): insert_quotes(**request.args) return '', 202 + @app.route("/", methods=['POST']) def run_tasks(): workdate = str(datetime.date.today()) with get_queue().pipeline() as pipe: for dealname, reinvflag in request.form.items(): - app.logger.info("Processing {0} with{1} reinvestment".format(dealname, - "" if reinvflag=="TRUE" else "out")) + if reinvflag == "TRUE": + app.logger.info(f"Processing {dealname} with reinvestment") + else: + app.logger.info(f"Processing {dealname} without reinvestment") pipe.rpush("tasks", json.dumps({"fun": "build_portfolios", "args": [workdate, dealname, reinvflag]})) pipe.execute() |
