39 lines
975 B
TypeScript
39 lines
975 B
TypeScript
/**
|
||
* ETL 状态监控 API 调用。
|
||
*
|
||
* - fetchCursors:获取各任务的数据游标(最后抓取时间、记录数)
|
||
* - fetchRecentRuns:获取最近执行记录
|
||
*/
|
||
|
||
import { apiClient } from './client';
|
||
|
||
/** ETL 游标信息 */
|
||
export interface CursorInfo {
|
||
task_code: string;
|
||
last_fetch_time: string | null;
|
||
record_count: number | null;
|
||
}
|
||
|
||
/** 最近执行记录 */
|
||
export interface RecentRun {
|
||
id: string;
|
||
task_codes: string[];
|
||
status: string;
|
||
started_at: string;
|
||
finished_at: string | null;
|
||
duration_ms: number | null;
|
||
exit_code: number | null;
|
||
}
|
||
|
||
/** 获取各任务的数据游标 */
|
||
export async function fetchCursors(): Promise<CursorInfo[]> {
|
||
const { data } = await apiClient.get<CursorInfo[]>('/etl-status/cursors');
|
||
return data;
|
||
}
|
||
|
||
/** 获取最近执行记录 */
|
||
export async function fetchRecentRuns(): Promise<RecentRun[]> {
|
||
const { data } = await apiClient.get<RecentRun[]>('/etl-status/recent-runs');
|
||
return data;
|
||
}
|