Skip to content
Snippets Groups Projects
Commit 2d1d60ae authored by jkerdreu's avatar jkerdreu
Browse files

Added buffer to handle missing server issue

git-svn-id: https://redmine.imt-atlantique.fr/svn/xaal/code/Python/trunk@2049 b32b6428-25c9-4566-ad07-03861ab6144f
parent 89fd1624
Branches
No related tags found
No related merge requests found
from xaal.lib import Engine
from . import dev
dev.main()
def run():
eng = Engine()
dev.setup(eng)
eng.run()
try:
run()
except KeyboardInterrupt:
print("Bye Bye..")
from xaal.lib import Device,Engine,tools,config
from xaal.lib import Device,tools,config
import sys
import time
import platform
import urllib3
PACKAGE_NAME = "xaal.warp10"
logger = tools.get_logger(PACKAGE_NAME,'DEBUG')
logger = tools.get_logger(PACKAGE_NAME,'INFO')
DATA_BUF = ''
class WARP10Logger:
def __init__(self,engine):
......@@ -25,30 +27,34 @@ class WARP10Logger:
self.eng.add_device(dev)
self.http = urllib3.PoolManager()
def push(self):
global DATA_BUF
print(DATA_BUF)
try:
rsp = self.http.request('POST', self.cfg['url'],headers={'X-Warp10-Token':self.cfg['token']},body=DATA_BUF,retries=2)
except Exception:
# no need to log since, urllib3 already log errors
return
if rsp.status != 200:
logger.error('%s: %s' % (rsp.status,rsp.reason))
return
DATA_BUF = ''
def parse_msg(self,msg):
global DATA_BUF
if msg.is_attributes_change():
base = self.cfg['topic']
code = ''
base = self.cfg['topic'] + '.' + msg.devtype
buf = ''
now = round(time.time() * 1000000)
for k in msg.body:
name = '%s.%s' % (base,k)
tags = '{devid=%s}' % msg.source
value = msg.body[k]
code = code +"// %s%s %s\n" % (name,tags,value)
rsp = self.http.request('POST', self.cfg['url'],headers={'X-Warp10-Token':self.cfg['token']},body=code,retries=15)
def run():
eng = Engine()
log = WARP10Logger(eng)
eng.run()
def main():
try:
run()
except KeyboardInterrupt:
print("Bye Bye..")
buf = buf +"%s// %s%s %s\n" % (now,name,tags,value)
DATA_BUF = DATA_BUF + buf
self.push()
def setup(engine):
WARP10Logger(engine)
return True
if __name__ == '__main__':
main()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment