constants.py 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. # -*- coding: utf-8 -*-
  2. # @Time : 2026/3/12
  3. # @Author : 系统自动生成
  4. # 项目常量定义
  5. # 文件类型常量
  6. class FileTypes:
  7. """文件类型常量"""
  8. # Excel相关文件类型
  9. EXCEL_TYPES = ['xls', 'xlsx', 'xlsm', 'xlsb', 'odf', 'ods', 'csv', 'csv.gz']
  10. # 压缩文件类型
  11. ZIP_TYPES = ['rar', 'zip']
  12. # 数据处理常量
  13. class DataProcessing:
  14. """数据处理常量"""
  15. # 时间戳列名
  16. TIME_STAMP_COLUMN = 'time_stamp'
  17. # NaN替换值
  18. NAN_REPLACE_VALUE = -999999999
  19. # 有功功率单位判断阈值
  20. POWER_UNIT_THRESHOLD = 100000
  21. # 时间间隔
  22. TIME_INTERVAL = '10T'
  23. # 非数值列
  24. NOT_DOUBLE_COLS = ['wind_turbine_number', 'wind_turbine_name', 'time_stamp',
  25. 'param6', 'param7', 'param8', 'param9', 'param10']
  26. # 并行处理常量
  27. class ParallelProcessing:
  28. """并行处理常量"""
  29. # 最大进程数
  30. MAX_PROCESSES = 8
  31. # 最大批次数
  32. MAX_BATCHES = 10
  33. # CPU使用百分比
  34. CPU_USAGE_PERCENT = 2 / 3
  35. # 数据库常量
  36. class Database:
  37. """数据库常量"""
  38. # 表引擎
  39. TABLE_ENGINE = 'InnoDB'
  40. # 默认字符集
  41. DEFAULT_CHARSET = 'utf8mb4'
  42. # 批处理大小
  43. BATCH_SIZE = 100000
  44. # 日志常量
  45. class Log:
  46. """日志常量"""
  47. # 默认日志路径
  48. DEFAULT_LOG_PATH = "/data/logs"
  49. # 日志文件名前缀
  50. LOG_FILE_PREFIX = "etl_tools_"
  51. # 路径常量
  52. class Paths:
  53. """路径常量"""
  54. # 临时文件基础路径
  55. DEFAULT_TMP_BASE_PATH = "/tmp"
  56. # 归档路径
  57. DEFAULT_ARCHIVE_PATH = "/tmp/archive"
  58. # 状态常量
  59. class Status:
  60. """状态常量"""
  61. # 成功状态
  62. SUCCESS = 1
  63. # 错误状态
  64. ERROR = 0
  65. # 运行状态
  66. RUNNING = 2
  67. # 类型常量
  68. class Types:
  69. """类型常量"""
  70. # 秒级数据
  71. SECOND = 'second'
  72. # 分钟级数据
  73. MINUTE = 'minute'
  74. # 故障数据
  75. FAULT = 'fault'
  76. # 告警数据
  77. WARN = 'warn'
  78. # 波形数据
  79. WAVE = 'wave'
  80. # 激光数据
  81. LASER = 'laser'