mirror of
https://github.com/whyour/qinglong.git
synced 2026-09-20 16:07:11 +08:00
47 lines
1.3 KiB
TypeScript
47 lines
1.3 KiB
TypeScript
export class CancellationDispatchError extends Error {
|
|
constructor(
|
|
message: string,
|
|
public readonly code: string,
|
|
public readonly retryable = false,
|
|
public readonly cause?: unknown,
|
|
) {
|
|
super(message);
|
|
this.name = new.target.name;
|
|
}
|
|
}
|
|
|
|
export class InvalidCancellationDispatchCommandError extends CancellationDispatchError {
|
|
constructor(message: string) {
|
|
super(message, 'INVALID_CANCELLATION_DISPATCH_COMMAND');
|
|
}
|
|
}
|
|
|
|
export class CancellationDispatchBindingConflictError extends CancellationDispatchError {
|
|
constructor(runId: string, attemptId: string) {
|
|
super(
|
|
`Cancellation dispatch for Run ${runId} is already bound to another Attempt than ${attemptId}`,
|
|
'CANCELLATION_DISPATCH_BINDING_CONFLICT',
|
|
);
|
|
}
|
|
}
|
|
|
|
export class CancellationDispatchFenceRejectedError extends CancellationDispatchError {
|
|
constructor(runId: string) {
|
|
super(
|
|
`Cancellation dispatch lease for Run ${runId} is stale or no longer owned by this worker`,
|
|
'CANCELLATION_DISPATCH_FENCE_REJECTED',
|
|
);
|
|
}
|
|
}
|
|
|
|
export class CancellationDispatchRepositoryError extends CancellationDispatchError {
|
|
constructor(cause?: unknown) {
|
|
super(
|
|
'Cancellation dispatch repository operation failed',
|
|
'CANCELLATION_DISPATCH_REPOSITORY_FAILED',
|
|
false,
|
|
cause,
|
|
);
|
|
}
|
|
}
|