123456789101112131415161718192021222324252627282930313233343536373839 |
- """
- 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()
|