feat(sync): 增加pulsar消息最后接收时间
用于判断pulsar有多久没有传入消息了
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user