diff options
Diffstat (limited to 'python')
| -rw-r--r-- | python/http-server.py | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/python/http-server.py b/python/http-server.py index 4f59fd95..c8ee52c4 100644 --- a/python/http-server.py +++ b/python/http-server.py @@ -3,11 +3,16 @@ from urlparse import parse_qsl from daemon import Daemon import sys, datetime, logging, json, redis from insert_tranche_quotes import insert_quotes +from db import conn +from load_intex_collateral import intex_data class MyHandler(BaseHTTPRequestHandler): def do_GET(self): - if self.path=="/insert_quotes": + if self.path == "/insert_quotes": insert_quotes() + if self.path == "/insert_intex_data": + workdate = str(datetime.date.today()) + intex_data(self.server.conn, workdate, self.server.logger) self.send_response(200) self.end_headers() @@ -17,7 +22,9 @@ class MyHandler(BaseHTTPRequestHandler): self.log_message("%s" , json.dumps(d)) workdate = str(datetime.date.today()) for dealname, reinvflag in d: - q.rpush("tasks", json.dumps(("build_portfolio", [workdate, dealname, reinvflag]))) + self.server.queue.rpush("tasks", + json.dumps(("build_portfolio", + [workdate, dealname, reinvflag]))) self.send_response(200) self.end_headers() @@ -28,9 +35,11 @@ class MyHandler(BaseHTTPRequestHandler): format%args)) class MyServer(HTTPServer): - def __init__(self, addr, handler, logger): + def __init__(self, addr, handler, logger, queue, conn): HTTPServer.__init__(self, addr, handler) self.logger = logger + self.queue = queue + self.conn = conn class MyDaemon(Daemon): def run(self): @@ -40,12 +49,16 @@ class MyDaemon(Daemon): fh = logging.FileHandler("/home/share/CorpCDOs/logs/tasks.log") fh.setLevel('INFO') logger.addHandler(fh) - http = MyServer(server_address, MyHandler, logger) + q = redis.Redis(unix_socket_path='/var/run/redis/redis.sock') + http = MyServer(server_address, MyHandler, logger, q, conn) http.serve_forever() + def stop(self): + conn.close() + Daemon.stop(self) + if __name__=="__main__": d = MyDaemon('/tmp/tasks.pid') - q = redis.Redis(unix_socket_path='/var/run/redis/redis.sock') if sys.argv[1] == "start": d.start() elif sys.argv[1] == "stop": |
