parent
a4b4cc465e
commit
a8e6d23b64
@ -0,0 +1,39 @@
|
||||
"""
|
||||
This is a data-collector client, that is intended to perform data-collection operations and submit them to an endpoint
|
||||
@required:
|
||||
- key application/service key
|
||||
- id node identifier
|
||||
"""
|
||||
from utils.params import PARAMS as SYS_ARGS
|
||||
import requests
|
||||
import pickle
|
||||
from threading import Thread, RLock
|
||||
ENDPOINT="https://dev.the-phi.com/monitor"
|
||||
|
||||
class Collector(Thread) :
|
||||
def __init__(self):
|
||||
Thread.__init__(self)
|
||||
"""
|
||||
This function initializes the data collector with critical information
|
||||
The process will include validating the user's account and plan
|
||||
@param key customer's key
|
||||
@param id node identifier
|
||||
|
||||
"""
|
||||
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)
|
||||
|
||||
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
|
||||
|
||||
if name == '__main__' :
|
||||
thread = Collector()
|
||||
thread.start()
|
Loading…
Reference in new issue