analytics.py 885 B

1234567891011121314151617181920212223242526272829
  1. import requests
  2. def post_data(field, keys, value):
  3. db = 'news'
  4. influx_host = 'http://localhost:8086/write?db=%s' % db
  5. headers = {'Content-Type': 'application/octet-stream'}
  6. tmpkeys = ",".join(["%s=%s" % (k, v) for k, v in keys.items()])
  7. if len(keys) > 0:
  8. data = "%s,%s value=%s" % (field, tmpkeys, value)
  9. else:
  10. data = "%s value=%s" % (field, value)
  11. print(data)
  12. try:
  13. ret = requests.post(influx_host, data=data, headers=headers)
  14. if ret.status_code // 100 != 2:
  15. print(ret.status_code)
  16. print(ret.text)
  17. print(data, "failed!!")
  18. except Exception as e:
  19. pass
  20. if __name__ == '__main__':
  21. from db import db
  22. errors = db().get_sources_with_error()
  23. for e in errors:
  24. val = e['_id'].replace(" ", r"\ ")
  25. post_data('error', {'source': '%s' % val}, e['count'])