task_worker.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  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. mate = MaterialLoader()
  12. def station_task(station_id, config):
  13. """单个场站训练任务"""
  14. try:
  15. # 动态生成场站数据路径
  16. input_file = config['data_template'].format(station_id=station_id)
  17. # 加载数据
  18. data_objects = mate.get_material(input_file)
  19. # 数据合并
  20. train_data = pd.merge(data_objects.nwp_v_h, data_objects.power, on=config['time_column'])
  21. # 模型训练
  22. model = ModelTrainer(input_file, train_data, capacity=config['capacities'][station_id], gpu_id=config.get('gpu_assignment'))
  23. model.train()
  24. return {'status': 'success', 'station_id': station_id}
  25. except Exception as e:
  26. logging.error(f"Station {station_id} failed: {str(e)}")
  27. return {'status': 'failed', 'station_id': station_id}
  28. def area_task():
  29. """区域级训练任务"""
  30. pass