aboutsummaryrefslogtreecommitdiffstats
path: root/python
diff options
context:
space:
mode:
Diffstat (limited to 'python')
-rw-r--r--python/http-server.py52
-rw-r--r--python/master.py23
2 files changed, 52 insertions, 23 deletions
diff --git a/python/http-server.py b/python/http-server.py
new file mode 100644
index 00000000..6e920930
--- /dev/null
+++ b/python/http-server.py
@@ -0,0 +1,52 @@
+from BaseHTTPServer import HTTPServer, BaseHTTPRequestHandler
+from urlparse import parse_qsl
+from daemon import Daemon
+import sys, datetime, logging, json, redis
+
+def run(server_class=HTTPServer, handler_class=BaseHTTPRequestHandler):
+ server_address = ('', 8000)
+ httpd = server_class(server_address, handler_class)
+ httpd.serve_forever()
+
+class MyHandler(BaseHTTPRequestHandler):
+ def do_GET(self):
+ self.send_response(200)
+ self.end_headers()
+
+ def do_POST(self):
+ length = int(self.headers['content-length'])
+ d = parse_qsl(self.rfile.read(length).decode('utf-8'))
+ 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.send_response(200)
+ self.end_headers()
+
+ def log_message(self, format, *args):
+ logger.info("%s - - [%s] %s\n" %
+ (self.address_string(),
+ self.log_date_time_string(),
+ format%args))
+
+class MyDaemon(Daemon):
+ def run(self):
+ server_address = ('',8000)
+ http = HTTPServer(server_address, MyHandler)
+ http.serve_forever()
+
+if __name__=="__main__":
+ #d = MyDaemon('/tmp/pomme.pid')
+ logger = logging.getLogger('pomme')
+ logger.setLevel('INFO')
+ fh = logging.FileHandler("httpd.log")
+ fh.setLevel('INFO')
+ logger.addHandler(fh)
+ q = redis.Redis(unix_socket_path='/var/run/redis/redis.sock')
+ run(handler_class=MyHandler)
+ # if sys.argv[1] == "start":
+ # d.start()
+ # elif sys.argv[1] == "stop":
+ # d.stop()
+ # elif sys.argv[1] == "restart":
+ # d.restart()
diff --git a/python/master.py b/python/master.py
deleted file mode 100644
index 3db5a6d7..00000000
--- a/python/master.py
+++ /dev/null
@@ -1,23 +0,0 @@
-import redis
-from pickle import dumps
-import datetime
-import os
-import time
-from common import root
-
-def run():
- dealsfile = os.path.join(root, "scripts", "deals_to_price.txt")
- q = redis.Redis(unix_socket_path='/var/run/redis/redis.sock')
-
- while True:
- workdate = str(datetime.date.today())
- if os.path.exists(dealsfile):
- with open(dealsfile) as fh:
- for line in fh:
- dealname, reinvflag = line.rstrip().split("\t")
- q.rpush("tasks", dumps(("build_portfolio", [workdate, dealname, reinvflag]), protocol=2))
- os.unlink(dealsfile)
- time.sleep(3)
-
-if __name__=="__main__":
- run()