Skip to content

Commit c787086

Browse files
committed
add suspended process error
1 parent 3c57c26 commit c787086

File tree

2 files changed

+20
-1
lines changed

2 files changed

+20
-1
lines changed

packages/cli-v3/src/executions/taskRunProcess.ts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import {
2929
internalErrorFromUnexpectedExit,
3030
GracefulExitTimeoutError,
3131
UnexpectedExitError,
32+
SuspendedProcessError,
3233
} from "@trigger.dev/core/v3/errors";
3334

3435
export type OnWaitForDurationMessage = InferSocketMessageSchema<
@@ -73,6 +74,7 @@ export class TaskRunProcess {
7374
private _gracefulExitTimeoutElapsed: boolean = false;
7475
private _isBeingKilled: boolean = false;
7576
private _isBeingCancelled: boolean = false;
77+
private _isBeingSuspended: boolean = false;
7678
private _stderr: Array<string> = [];
7779

7880
public onTaskRunHeartbeat: Evt<string> = new Evt();
@@ -347,7 +349,11 @@ export class TaskRunProcess {
347349
// Order matters, this has to be before the graceful exit timeout
348350
rejecter(new GracefulExitTimeoutError());
349351
} else if (this._isBeingKilled) {
350-
rejecter(new CleanupProcessError());
352+
if (this._isBeingSuspended) {
353+
rejecter(new SuspendedProcessError());
354+
} else {
355+
rejecter(new CleanupProcessError());
356+
}
351357
} else {
352358
rejecter(
353359
new UnexpectedExitError(
@@ -428,6 +434,11 @@ export class TaskRunProcess {
428434
}
429435
}
430436

437+
async suspend() {
438+
this._isBeingSuspended = true;
439+
await this.kill("SIGKILL");
440+
}
441+
431442
forceExit() {
432443
try {
433444
this._isBeingKilled = true;

packages/core/src/v3/errors.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -497,6 +497,14 @@ export class CleanupProcessError extends Error {
497497
}
498498
}
499499

500+
export class SuspendedProcessError extends Error {
501+
constructor() {
502+
super("Suspended");
503+
504+
this.name = "SuspendedProcessError";
505+
}
506+
}
507+
500508
export class CancelledProcessError extends Error {
501509
constructor() {
502510
super("Cancelled");

0 commit comments

Comments
 (0)