app.py 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. import json
  2. import time
  3. import traceback
  4. from gevent import monkey
  5. monkey.patch_all()
  6. from flask import Flask, request
  7. from log import Log
  8. from config import set_config
  9. from words_func import get_words, update_wechat_score_data
  10. app = Flask(__name__)
  11. log_ = Log()
  12. config_ = set_config()
  13. @app.route('/healthcheck')
  14. def health_check():
  15. return 'ok!'
  16. # 获取热点词库中的所有词
  17. @app.route('/hot/word/getAllWords', methods=['GET', 'POST'])
  18. def get_all_words():
  19. try:
  20. start_time = time.time()
  21. request_data = json.loads(request.get_data())
  22. page_num = request_data.get('pageNum', 1)
  23. page_size = request_data.get('pageSize', 100)
  24. words = get_words(page_num=page_num, page_size=page_size)
  25. result = {'code': 200, 'message': 'success', 'data': {'words': words}}
  26. log_message = {
  27. 'requestUri': '/hot/word/getAllWords',
  28. 'logTimestamp': int(time.time() * 1000),
  29. 'result': result,
  30. 'executeTime': (time.time() - start_time) * 1000
  31. }
  32. log_.info(log_message)
  33. return json.dumps(result)
  34. except Exception as e:
  35. log_.error(traceback.format_exc())
  36. result = {'code': -1, 'message': 'fail'}
  37. return json.dumps(result)
  38. # 更新热点词的微信指数
  39. @app.route('/hot/word/updateWechatScore', methods=['GET', 'POST'])
  40. def update_wechat_score():
  41. try:
  42. start_time = time.time()
  43. request_data = json.loads(request.get_data())
  44. data = request_data.get('data', None)
  45. update_wechat_score_data(data=data)
  46. result = {'code': 200, 'message': 'success'}
  47. log_.info(f"executeTime = {(time.time() - start_time) * 1000}")
  48. return json.dumps(result)
  49. except Exception as e:
  50. log_.error(traceback.format_exc())
  51. result = {'code': -1, 'message': 'fail'}
  52. return json.dumps(result)
  53. if __name__ == '__main__':
  54. app.run()