utils.py 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. from rest_framework.response import Response
  2. from rest_framework import status
  3. from django.apps import apps
  4. import os
  5. SCHEDULER_BASE_URL = "http://localhost:5000"
  6. # 动态生成上传文件夹
  7. BASE_FILE_PATH = os.path.join(apps.get_app_config('api').path, 'uploads')
  8. OK = 0
  9. FAILED = 1
  10. FILE_ALREADY_EXIST = 101
  11. FILE_FAILED_CREATE_DIR = 102
  12. UNKNOWN_CONTENT = 998
  13. UNKNOWN_ERROR = 999
  14. def failed(message="访问失败", data=None, code=400):
  15. if code == 400:
  16. mStatus = status.HTTP_400_BAD_REQUEST
  17. elif code == 401:
  18. mStatus = status.HTTP_401_UNAUTHORIZED
  19. elif code == 403:
  20. mStatus = status.HTTP_403_FORBIDDEN
  21. else:
  22. raise ValueError("不支持的HTTP状态")
  23. return Response({
  24. 'status': 'failed',
  25. 'message': message,
  26. 'data': data,
  27. }, status=mStatus)
  28. def success(message="访问成功", data=None, code=200):
  29. if code == 200:
  30. mStatus = status.HTTP_200_OK
  31. elif code == 201:
  32. mStatus = status.HTTP_201_CREATED
  33. elif code == 202:
  34. mStatus = status.HTTP_202_ACCEPTED
  35. else:
  36. raise ValueError("不支持的HTTP状态")
  37. return Response({
  38. 'status': 'success',
  39. 'message': message,
  40. 'data': data,
  41. }, status=mStatus)
  42. # 用来控制允许保存多少用户上传的文件和结果文件,默认5GB
  43. MAX_STORAGE = 5
  44. # 两个变量用来存储系统性能参数和进程性能参数
  45. #: 存储系统性能信息
  46. #: 可用参数包括: cpu, mem_total, mem_used, disk_used(单位是B)
  47. SYSTEMPERFORMANCE = {
  48. 'cpu': 0,
  49. 'mem_total': 0,
  50. 'mem_used': 0,
  51. 'disk_used': 0,
  52. 'disk_total': MAX_STORAGE * 1024**3,
  53. }
  54. # 存放正在运行的进程及参数信息
  55. PROCESSPERFORMANCE = []
  56. # 存放触发的告警信息
  57. TRIGGEREDALERTS = []