diff --git a/requirements.txt b/requirements.txt index b7bb58c..4fba40d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,20 +1,26 @@ aniso8601==1.2.0 +certifi==2017.7.27.1 +chardet==3.0.4 click==6.6 couchdbkit==0.6.5 Flask==0.11.1 Flask-Session==0.3.0 Flask-SocketIO==2.8.2 http-parser==0.8.3 +idna==2.5 itsdangerous==0.24 Jinja2==2.8 MarkupSafe==0.23 +ngram==3.3.0 numpy==1.11.3 pika==0.10.0 python-dateutil==2.6.0 python-engineio==1.1.0 python-socketio==1.6.2 pytz==2016.10 +requests==2.18.3 restkit==4.2.2 six==1.10.0 socketpool==0.5.3 +urllib3==1.22 Werkzeug==0.11.11 diff --git a/src/data-collector.py b/src/data-collector.py index 51508a1..0c3cbd2 100644 --- a/src/data-collector.py +++ b/src/data-collector.py @@ -7,9 +7,9 @@ from utils.params import PARAMS as SYS_ARGS import requests import pickle +import json from threading import Thread, RLock ENDPOINT="https://dev.the-phi.com/monitor" - class Collector(Thread) : def __init__(self): Thread.__init__(self) @@ -20,20 +20,44 @@ class Collector(Thread) : @param id node identifier """ + for id in ['apps','folders']: + if id in SYS_ARGS : + SYS_ARGS[id] = SYS_ARGS[id].split(',') scope=list(set(['apps','folders','sandbox'])& set(SYS_ARGS.keys())) - headers = {"key":SYS_ARGS["key"],"id":SYS_ARGS["id"],"scope":scope} - r = requests.get("https://the-phi.com/monitor/init",headers=headers) - self.pool = pickle.loads(r.text) + headers = {"key":SYS_ARGS["key"],"id":SYS_ARGS["id"],"scope":json.dumps(scope)} + headers['content-type'] = 'application/json' + try: + r = requests.post("https://the-phi.com/monitor/init/collector",headers=headers,data=json.dumps(SYS_ARGS)) + + r = json.loads(r.text) + + self.monitor = pickle.loads(r[0]) + self.monitor.lock = RLock() + #:w + #self.monitor.set('lock',RLock()) + except Exception,e: + print e.message + self.monitor = None def run(self): - for key in self.pool : - try: - p = self.pool[key] - p.init(SYS_ARGS[key]) - p.start() - except Exception,e: - print e + """ + This funtion runs the authorized features and + """ + #self.monitor.start() + thread = Thread(target=self.monitor.run) + thread.start() + # print self.monitor.config['store'] + # for agent in self.pool : + # try: + # agent = pickle.loads(agent) + # agent.start() + + # #p = pickle.loads(self.pool[key]) + # #p.init(SYS_ARGS[key].split(',')) + # #p.start() + # except Exception,e: + # print e -if name == '__main__' : +if __name__ == '__main__' : thread = Collector() thread.start() \ No newline at end of file diff --git a/src/utils/agents/manager.pyc b/src/utils/agents/manager.pyc new file mode 100644 index 0000000..e71f7df Binary files /dev/null and b/src/utils/agents/manager.pyc differ diff --git a/src/utils/transport.pyc b/src/utils/transport.pyc new file mode 100644 index 0000000..20a22bb Binary files /dev/null and b/src/utils/transport.pyc differ