feat(sync): 增加pulsar消息最后接收时间

用于判断pulsar有多久没有传入消息了
This commit is contained in:
v-zhangjc9
2024-05-09 09:03:00 +08:00
parent 103bde5cdc
commit 0bf3d17009
6 changed files with 101 additions and 11 deletions

View File

@@ -163,4 +163,14 @@ public class ApiController {
logger.info(makeMarker(flinkJobId, alias), "Compaction latest operation time: {} {} {}", flinkJobId, alias, latestOpTs);
syncStateService.saveCompactionLatestOperationTime(flinkJobId, alias, latestOpTs);
}
@GetMapping("sync_receive_time")
public void syncReceiveTime(
@RequestParam("flink_job_id") Long flinkJobId,
@RequestParam("alias") String alias,
@RequestParam("receive_time") Long receiveTime
) {
logger.info(makeMarker(flinkJobId, alias), "Source receive time: {} {} {}", flinkJobId, alias, receiveTime);
syncStateService.saveSyncReceiveTime(flinkJobId, alias, receiveTime);
}
}

View File

@@ -250,7 +250,9 @@ public class SyncStateService {
}
public void saveCompactionLatestOperationTime(Long flinkJobId, String alias, Long latestOperationTime) {
Date operationDate = latestOperationTime == 0 ? null : Date.from(Instant.ofEpochMilli(latestOperationTime));
Date operationDate = (ObjectUtil.isNull(latestOperationTime) || latestOperationTime == 0)
? null
: Date.from(Instant.ofEpochMilli(latestOperationTime));
jdbcTemplate.update(
SqlBuilder
.insertInto(
@@ -275,4 +277,24 @@ public class SyncStateService {
operationDate
);
}
public void saveSyncReceiveTime(Long flinkJobId, String alias, Long sourceReceiveTime) {
Date sourceReceiveDate = (ObjectUtil.isNull(sourceReceiveTime) || sourceReceiveTime == 0)
? null
: Date.from(Instant.ofEpochMilli(sourceReceiveTime));
jdbcTemplate.update(
SqlBuilder
.insertInto(
TbAppHudiSyncState._origin_,
TbAppHudiSyncState.ID_O,
TbAppHudiSyncState.SOURCE_RECEIVE_TIME_O
)
.values()
.addValue(null, null)
.onDuplicateKeyUpdateColumn(TbAppHudiSyncState.SOURCE_RECEIVE_TIME_O)
.precompileSql(),
syncStateId(flinkJobId, alias),
sourceReceiveDate
);
}
}