ThreadPoolTask5.java 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. package com.gyee.datatraining.task;
  2. import java.io.Serializable;
  3. import java.util.List;
  4. import java.util.concurrent.Callable;
  5. import com.gyee.datatraining.model.auto.Windpowerstation;
  6. import com.gyee.datatraining.model.auto.Windturbine;
  7. import com.gyee.datatraining.util.dd.LstmModelWt;
  8. import org.slf4j.Logger;
  9. import org.slf4j.LoggerFactory;
  10. public class ThreadPoolTask5 implements Callable<String>, Serializable {
  11. private Logger logger = LoggerFactory.getLogger(this.getClass());
  12. private static final long serialVersionUID = 0;
  13. private String unicode4hour="JKYC001";
  14. private String unicode1day="JKYC006";
  15. private String unicode3day="JKYC011";
  16. private String unicode7day="JKYC016";
  17. private String unicode1month="JKYC021";
  18. // 保存任务所需要的数据
  19. private Object threadPoolTaskData;
  20. private List<Windturbine> wtls;
  21. private LstmModelWt lstmModelWt;
  22. private Windpowerstation wp;
  23. public ThreadPoolTask5(Object tasks,List<Windturbine> wtls,Windpowerstation wp,LstmModelWt lstmModelWt) {
  24. this.threadPoolTaskData = tasks;
  25. this.wtls = wtls;
  26. this.wp = wp;
  27. this.lstmModelWt = lstmModelWt;
  28. }
  29. public synchronized String call() throws Exception {
  30. // 处理一个任务,这里的处理方式太简单了,仅仅是一个打印语句
  31. //System.out.println("开始执行任务:" + threadPoolTaskData);
  32. String result = "";
  33. // //便于观察,等待一段时间
  34. try {
  35. for(Windturbine wt:wtls)
  36. {
  37. lstmModelWt.castDataBy1Month(wt.getId(), unicode1month);
  38. logger.info(wt.getId()+"风机未来1个月数据保存成功!");
  39. }
  40. // if (StringUtils.notEmp(vo)) {
  41. //
  42. // lstmModelWt.castDataBy1Month(wt.getId(),unicode1month,vo.getMultiLayerNetwork(), vo.getMaxvalues(), vo.getMinvalues());
  43. // logger.info(wt.getId()+"风机未来1个月数据保存成功!");
  44. // }
  45. } catch (Exception e) {
  46. // TODO Auto-generated catch block
  47. e.printStackTrace();
  48. }
  49. threadPoolTaskData = null;
  50. return result;
  51. }
  52. }