package com.telpo.dipperposition.task; import com.telpo.dipperposition.service.IDipperDataAsyncTaskService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; /** * @program: DataPushServer * @description: 定时执行任务服务 * @author: king * @create: 2021-01-17 16:24 */ @Component @Slf4j public class ScheduleService { @Autowired private IDipperDataAsyncTaskService dipperDataAsyncTaskService; /* * 调用9012端口的接口获取星历数据。 * 通过TCP连接服务器agnss.techtotop.com:9012,发送bds获取星历数据。 * 每30分钟获取1次,30秒超时, * 如果失败,则可以等待10秒再获取1次。 * */ @Scheduled(cron = "${scheduler.task.cron}") public void pullData() { log.info("开始星历数据同步!"); // 获取推送失败的记录 try { // 如果失败,则可以等待10秒再获取1次。 int tryTimes = 59; dipperDataAsyncTaskService.pullAstEPH(tryTimes); } catch (InterruptedException e) { log.error("获取星历数据重试睡眠发生异常:", e); } catch (Exception e) { log.error("执行定时获取星历数据发生异常:", e); } } }