task_worker.py 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. #!/usr/bin/env python
  2. # -*- coding:utf-8 -*-
  3. # @FileName :task_worker.py
  4. # @Time :2025/4/29 11:05
  5. # @Author :David
  6. # @Company: shenyang JY
  7. import logging
  8. import pandas as pd
  9. from app.model.tf_model_train import ModelTrainer
  10. from app.model.material import MaterialLoader
  11. def station_task(station_id, config):
  12. """场站级训练任务"""
  13. try:
  14. print("111")
  15. mate = MaterialLoader(base_path=config['input_file'])
  16. # 动态生成场站数据路径
  17. print("222")
  18. # 加载数据
  19. data_objects = mate.get_material(station_id)
  20. print("333")
  21. # 数据合并
  22. train_data = pd.merge(data_objects.nwp_v_h, data_objects.power, on=config['col_time'])
  23. print("444")
  24. # 模型训练
  25. model = ModelTrainer(station_id, train_data, capacity=config['capacities'][station_id], gpu_id=config.get('gpu_assignment'))
  26. model.train()
  27. print("555")
  28. return {'status': 'success', 'station_id': station_id}
  29. except Exception as e:
  30. logging.error(f"Station {station_id} failed: {str(e)}")
  31. return {'status': 'failed', 'station_id': station_id}
  32. def area_task():
  33. """区域级训练任务"""
  34. pass