-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Expand file tree
/
Copy pathstatuses.ts
More file actions
66 lines (56 loc) · 2.11 KB
/
statuses.ts
File metadata and controls
66 lines (56 loc) · 2.11 KB
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
import { TaskRunExecutionStatus, TaskRunStatus } from "@trigger.dev/database";
export function isDequeueableExecutionStatus(status: TaskRunExecutionStatus): boolean {
const dequeuableExecutionStatuses: TaskRunExecutionStatus[] = ["QUEUED", "QUEUED_EXECUTING"];
return dequeuableExecutionStatuses.includes(status);
}
export function isExecuting(status: TaskRunExecutionStatus): boolean {
const executingExecutionStatuses: TaskRunExecutionStatus[] = [
"EXECUTING",
"EXECUTING_WITH_WAITPOINTS",
];
return executingExecutionStatuses.includes(status);
}
export function isPendingExecuting(status: TaskRunExecutionStatus): boolean {
const pendingExecutionStatuses: TaskRunExecutionStatus[] = ["PENDING_EXECUTING"];
return pendingExecutionStatuses.includes(status);
}
export function isCheckpointable(status: TaskRunExecutionStatus): boolean {
const checkpointableStatuses: TaskRunExecutionStatus[] = [
//will allow checkpoint starts
"RUN_CREATED",
"QUEUED",
//executing
"EXECUTING",
"EXECUTING_WITH_WAITPOINTS",
"QUEUED_EXECUTING",
];
return checkpointableStatuses.includes(status);
}
export function isFinishedOrPendingFinished(status: TaskRunExecutionStatus): boolean {
const finishedStatuses: TaskRunExecutionStatus[] = ["FINISHED", "PENDING_CANCEL"];
return finishedStatuses.includes(status);
}
export function isInitialState(status: TaskRunExecutionStatus): boolean {
const startedStatuses: TaskRunExecutionStatus[] = ["RUN_CREATED"];
return startedStatuses.includes(status);
}
const finalStatuses: TaskRunStatus[] = [
"CANCELED",
"INTERRUPTED",
"COMPLETED_SUCCESSFULLY",
"COMPLETED_WITH_ERRORS",
"SYSTEM_FAILURE",
"CRASHED",
"EXPIRED",
"TIMED_OUT",
];
export function isFinalRunStatus(status: TaskRunStatus): boolean {
return finalStatuses.includes(status);
}
export function getFinalRunStatuses(): TaskRunStatus[] {
return finalStatuses;
}
export function canReleaseConcurrency(status: TaskRunExecutionStatus): boolean {
const releaseableStatuses: TaskRunExecutionStatus[] = ["SUSPENDED", "EXECUTING_WITH_WAITPOINTS"];
return releaseableStatuses.includes(status);
}