aboutsummaryrefslogtreecommitdiffstats
path: root/python/client.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/client.py')
-rw-r--r--python/client.py31
1 files changed, 19 insertions, 12 deletions
diff --git a/python/client.py b/python/client.py
index 1652ce4b..cb111dd9 100644
--- a/python/client.py
+++ b/python/client.py
@@ -2,17 +2,24 @@ import redis
import tasks
from pickle import loads, dumps
import socket
+import daemon
+from daemon.pidlockfile import TimeoutPIDLockFile
-hostname = socket.gethostname()
-if hostname == 'debian':
- q = redis.Redis(unix_socket_path='/var/run/redis/redis.sock')
-elif hostname == 'gomez':
- q = redis.Redis(host='debian')
+def run():
+ hostname = socket.gethostname()
+ if hostname == 'debian':
+ q = redis.Redis(unix_socket_path='/var/run/redis/redis.sock')
+ elif hostname == 'gomez':
+ q = redis.Redis(host='debian')
-while True:
- f, args = loads(q.blpop("tasks")[1])
- getattr(tasks, f)(*args)
- if f == "build_portfolio":
- q.rpush("tasks", dumps(("build_scenarios", args), protocol=2))
- if f == "build_scenarios":
- q.rpush("tasks", dumps(("gen_scenarios", args[:-1]), protocol=2))
+ while True:
+ f, args = loads(q.blpop("tasks")[1])
+ getattr(tasks, f)(*args)
+ if f == "build_portfolio":
+ q.rpush("tasks", dumps(("build_scenarios", args), protocol=2))
+ if f == "build_scenarios":
+ q.rpush("tasks", dumps(("generate_scenarios", args[:-1]), protocol=2))
+
+if __name__=="__main__":
+ with daemon.DaemonContext(pidfile = TimeoutPIDLockFile('/var/run/client.pid',10)):
+ run()