File size: 814 Bytes
1d7d958
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
export type TaskStatus = 'pending' | 'leased' | 'completed' | 'failed';

export interface ITask {
  taskId: string;
  startRow: number;
  endRow: number;
  startOffset?: number;
  endOffset?: number;
  workerId: string | null;
  status: TaskStatus;
  retries: number;
  progress: number; // 0 to 100
  rowsProcessed?: number;
  leaseUntil: string | null; // ISO Date string
  createdAt: string; // ISO Date string
  updatedAt: string; // ISO Date string
  completedAt: string | null; // ISO Date string
  errorMessage?: string | null;
}

export interface CreateTaskInput {
  startRow: number;
  endRow: number;
}

export interface CreateTasksBatchInput {
  totalRows: number;
  chunkSize?: number;
}

export interface TaskFilter {
  status?: TaskStatus;
  workerId?: string;
  limit?: number;
  offset?: number;
}