|
@@ -42,11 +42,11 @@ public class ChargingJob {
|
|
|
private static final DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
private static final DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
- * 定时同步充电站信息
|
|
|
|
|
- * 每半小时执行一次,从第三方接口获取充电站信息并存储到数据库
|
|
|
|
|
- * cron表达式: 0 0/30 * * * ? 表示每小时的0分和30分执行
|
|
|
|
|
|
|
+ * 同步充电站信息
|
|
|
|
|
+ * 手动触发或启动时执行一次,从第三方接口获取充电站信息并存储到数据库
|
|
|
|
|
+ * 注意:已移除定时任务,改为手动触发
|
|
|
*/
|
|
*/
|
|
|
- @Scheduled(cron = "0 0/30 * * * ?")
|
|
|
|
|
|
|
+ @Scheduled(cron = "0 0/30 * * * ?") // 已禁用定时执行
|
|
|
public void syncStationsInfo() {
|
|
public void syncStationsInfo() {
|
|
|
log.info("开始执行充电站信息同步定时任务");
|
|
log.info("开始执行充电站信息同步定时任务");
|
|
|
|
|
|
|
@@ -83,7 +83,7 @@ public class ChargingJob {
|
|
|
* 每10分钟执行一次,查询所有充电桩的价格策略并存储到数据库
|
|
* 每10分钟执行一次,查询所有充电桩的价格策略并存储到数据库
|
|
|
* cron表达式: 0 10 * * * ? 表示每10分钟执行
|
|
* cron表达式: 0 10 * * * ? 表示每10分钟执行
|
|
|
*/
|
|
*/
|
|
|
- @Scheduled(cron = "0 */30 * * * ?")
|
|
|
|
|
|
|
+// @Scheduled(cron = "0 */1 * * * ?")
|
|
|
public void syncEquipmentPricePolicy() {
|
|
public void syncEquipmentPricePolicy() {
|
|
|
// 检查任务是否正在执行,防止并发
|
|
// 检查任务是否正在执行,防止并发
|
|
|
if (isPricePolicySyncRunning) {
|
|
if (isPricePolicySyncRunning) {
|
|
@@ -128,22 +128,23 @@ public class ChargingJob {
|
|
|
|
|
|
|
|
// 立即休眠10秒,避免触发第三方接口保护机制
|
|
// 立即休眠10秒,避免触发第三方接口保护机制
|
|
|
// 第三方接口可能有频率限制,需要足够的间隔时间
|
|
// 第三方接口可能有频率限制,需要足够的间隔时间
|
|
|
- Thread.sleep(18000); // 10秒间隔
|
|
|
|
|
|
|
+// Thread.sleep(18000); // 10秒间隔
|
|
|
|
|
|
|
|
if (result != null && result.getSuccStat() != null && result.getSuccStat() == 0) {
|
|
if (result != null && result.getSuccStat() != null && result.getSuccStat() == 0) {
|
|
|
successCount++;
|
|
successCount++;
|
|
|
log.info("价格策略同步成功 - connectorId: {}, 时段数: {}", connectorId, result.getSumPeriod());
|
|
log.info("价格策略同步成功 - connectorId: {}, 时段数: {}", connectorId, result.getSumPeriod());
|
|
|
} else {
|
|
} else {
|
|
|
failCount++;
|
|
failCount++;
|
|
|
- log.warn("价格策略同步失败 - connectorId: {}, 失败原因: {}", connectorId,
|
|
|
|
|
|
|
+ log.warn("价格策略同步失败 - connectorId: {}, 失败原因: {}, 跳过该接口继续处理下一个", connectorId,
|
|
|
result != null ? result.getFailReason() : "返回结果为空");
|
|
result != null ? result.getFailReason() : "返回结果为空");
|
|
|
|
|
+ continue; // 跳过失败的接口,继续处理下一个
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- } catch (InterruptedException e) {
|
|
|
|
|
- Thread.currentThread().interrupt();
|
|
|
|
|
- log.error("线程休眠被中断 - connectorId: {}", connector.getConnectorId(), e);
|
|
|
|
|
- failCount++;
|
|
|
|
|
- break; // 中断后退出循环
|
|
|
|
|
|
|
+// } catch (InterruptedException e) {
|
|
|
|
|
+// Thread.currentThread().interrupt();
|
|
|
|
|
+// log.error("线程休眠被中断 - connectorId: {}", connector.getConnectorId(), e);
|
|
|
|
|
+// failCount++;
|
|
|
|
|
+// break; // 中断后退出循环
|
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
|
failCount++;
|
|
failCount++;
|
|
|
log.error("同步价格策略失败 - connectorId: {}", connector.getConnectorId(), e);
|
|
log.error("同步价格策略失败 - connectorId: {}", connector.getConnectorId(), e);
|