| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- import requests
- def post_data(field, keys, value):
- db = 'news'
- influx_host = 'http://localhost:8086/write?db=%s' % db
- headers = {'Content-Type': 'application/octet-stream'}
- tmpkeys = ",".join(["%s=%s" % (k, v) for k, v in keys.items()])
- if len(keys) > 0:
- data = "%s,%s" % (field, tmpkeys)
- else:
- data = "%s" % field
- if type(value) == dict:
- values = ",".join(["%s=%s" % (k, v) for k, v in value.items()])
- data = "%s %s" % (data, values)
- else:
- data = "%s value=%s" % (data, value)
- print(data)
- try:
- ret = requests.post(influx_host, data=data, headers=headers)
- if ret.status_code // 100 != 2:
- print(ret.status_code)
- print(ret.text)
- print(data, "failed!!")
- except Exception as e:
- pass
- if __name__ == '__main__':
- from db import db
- d = db()
- errors = d.get_sources_with_error()
- for e in errors:
- val = e['_id'].replace(" ", r"\ ")
- post_data('error', {'source': '%s' % val}, e['count'])
- for s in d.get_sources_with_count():
- val = s['_id'].replace(" ", r"\ ")
- post_data('totals', {'source': '%s' % val},
- {'value': s['count'], 'weight': s['weight']})
- for k, v in d.get_keywords_with_count().items():
- val = k.replace(" ", r"\ ")
- post_data('totals', {}, {'kw': val, 'count': v})
|