@usine/engine 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +661 -21
- package/README.md +9 -6
- package/dist/cycle-budget/cycle-budget.d.ts +8 -2
- package/dist/cycle-budget/cycle-budget.d.ts.map +1 -1
- package/dist/cycle-budget/cycle-budget.js +46 -5
- package/dist/cycle-budget/cycle-budget.js.map +1 -1
- package/dist/cycle-budget/model.d.ts +4 -0
- package/dist/cycle-budget/model.d.ts.map +1 -1
- package/dist/cycle-budget/model.js +3 -0
- package/dist/cycle-budget/model.js.map +1 -1
- package/dist/database/local-sqlite.d.ts +4 -3
- package/dist/database/local-sqlite.d.ts.map +1 -1
- package/dist/database/local-sqlite.js +11 -7
- package/dist/database/local-sqlite.js.map +1 -1
- package/dist/database/schema.d.ts +121 -0
- package/dist/database/schema.d.ts.map +1 -1
- package/dist/database/schema.js +23 -0
- package/dist/database/schema.js.map +1 -1
- package/dist/engine/checkout-recovery.d.ts +28 -18
- package/dist/engine/checkout-recovery.d.ts.map +1 -1
- package/dist/engine/checkout-recovery.js +100 -43
- package/dist/engine/checkout-recovery.js.map +1 -1
- package/dist/engine/engine.d.ts +20 -8
- package/dist/engine/engine.d.ts.map +1 -1
- package/dist/engine/engine.js +26 -9
- package/dist/engine/engine.js.map +1 -1
- package/dist/engine/error.d.ts +1 -1
- package/dist/engine/error.js +1 -1
- package/dist/engine/error.js.map +1 -1
- package/dist/engine/lifecycle.d.ts +3 -1
- package/dist/engine/lifecycle.d.ts.map +1 -1
- package/dist/engine/lifecycle.js +13 -3
- package/dist/engine/lifecycle.js.map +1 -1
- package/dist/engine/run-driver.d.ts +21 -7
- package/dist/engine/run-driver.d.ts.map +1 -1
- package/dist/engine/run-driver.js +118 -32
- package/dist/engine/run-driver.js.map +1 -1
- package/dist/engine/submission.d.ts.map +1 -1
- package/dist/engine/submission.js +3 -2
- package/dist/engine/submission.js.map +1 -1
- package/dist/engine/unconfirmed-stops.d.ts +27 -0
- package/dist/engine/unconfirmed-stops.d.ts.map +1 -0
- package/dist/engine/unconfirmed-stops.js +26 -0
- package/dist/engine/unconfirmed-stops.js.map +1 -0
- package/dist/item-projection/item-projection.d.ts +3 -1
- package/dist/item-projection/item-projection.d.ts.map +1 -1
- package/dist/item-projection/item-projection.js +20 -9
- package/dist/item-projection/item-projection.js.map +1 -1
- package/dist/run-reader/run-reader.d.ts +6 -1
- package/dist/run-reader/run-reader.d.ts.map +1 -1
- package/dist/run-reader/run-reader.js +2 -0
- package/dist/run-reader/run-reader.js.map +1 -1
- package/dist/step-executor.d.ts +30 -11
- package/dist/step-executor.d.ts.map +1 -1
- package/dist/step-executor.js.map +1 -1
- package/dist/store/codec.d.ts +38 -4
- package/dist/store/codec.d.ts.map +1 -1
- package/dist/store/codec.js +9 -2
- package/dist/store/codec.js.map +1 -1
- package/dist/store/leftovers.d.ts +1 -1
- package/dist/store/leftovers.js +2 -2
- package/dist/store/leftovers.js.map +1 -1
- package/dist/store/queries.d.ts +45 -3
- package/dist/store/queries.d.ts.map +1 -1
- package/dist/store/queries.js +59 -6
- package/dist/store/queries.js.map +1 -1
- package/dist/store/store.d.ts +22 -7
- package/dist/store/store.d.ts.map +1 -1
- package/dist/store/store.js +32 -3
- package/dist/store/store.js.map +1 -1
- package/drizzle/20261024162954_cycle_ask_closures/migration.sql +10 -0
- package/drizzle/20261024162954_cycle_ask_closures/snapshot.json +1948 -0
- package/drizzle/20261027104206_attempt_out_of_memory/migration.sql +1 -0
- package/drizzle/20261027104206_attempt_out_of_memory/snapshot.json +1958 -0
- package/drizzle/20261027191944_failure_resolution/migration.sql +1 -0
- package/drizzle/20261027191944_failure_resolution/snapshot.json +1968 -0
- package/package.json +12 -12
package/dist/engine/engine.js
CHANGED
|
@@ -22,6 +22,7 @@ import { CycleBudgets } from "../cycle-budget/cycle-budget.js";
|
|
|
22
22
|
import { BoardMoves } from "../board-moves/board-moves.js";
|
|
23
23
|
import { AttemptAdmission } from "./admission.js";
|
|
24
24
|
import { RunDriver } from "./run-driver.js";
|
|
25
|
+
import { UnconfirmedStops } from "./unconfirmed-stops.js";
|
|
25
26
|
/** The interval between periodic reconciles, which restart open Runs whose fiber stopped. */
|
|
26
27
|
export const ReconcileInterval = Context.Reference("@usine/engine/ReconcileInterval", { defaultValue: () => "3 minutes" });
|
|
27
28
|
// Operations that commit a Run transition also hand it to the Run's fiber, uninterruptibly, so an
|
|
@@ -87,16 +88,26 @@ const makeRunEngine = Effect.gen(function* () {
|
|
|
87
88
|
runId,
|
|
88
89
|
openAttempt: Option.getOrElse(outcome.openAttempt, () => "none"),
|
|
89
90
|
});
|
|
91
|
+
// The stop can end the Attempt's execution, and its fiber then frees the slot, so the slot
|
|
92
|
+
// moves to the Attempt first.
|
|
93
|
+
if (Option.isSome(outcome.openAttempt))
|
|
94
|
+
yield* driver.holdSlot(runId, outcome.openAttempt.value);
|
|
90
95
|
// Stop the Attempt before interrupting its fiber; otherwise its parent task stays live
|
|
91
96
|
// waiting for a reattach.
|
|
92
97
|
const handshake = Option.isSome(outcome.openAttempt)
|
|
93
|
-
? yield* stepExecutor.interrupt(outcome.openAttempt.value).pipe(Effect.result)
|
|
98
|
+
? yield* stepExecutor.interrupt(outcome.openAttempt.value, "cancel").pipe(Effect.result)
|
|
94
99
|
: Result.succeed(undefined);
|
|
95
100
|
yield* driver.stop(runId);
|
|
96
|
-
//
|
|
97
|
-
// parent task is confirmed stopped.
|
|
101
|
+
// The Attempt's slot, and a checkout that startup kept for a reattach, stay kept, and the
|
|
102
|
+
// queued Event's Run starts no Attempt, until the parent task is confirmed stopped.
|
|
98
103
|
if (Option.isSome(outcome.openAttempt))
|
|
99
|
-
yield* driver.releaseKept(
|
|
104
|
+
yield* driver.releaseKept({
|
|
105
|
+
attemptId: outcome.openAttempt.value,
|
|
106
|
+
runId,
|
|
107
|
+
loop: outcome.loop,
|
|
108
|
+
itemKey: outcome.itemKey,
|
|
109
|
+
reason: "cancel",
|
|
110
|
+
});
|
|
100
111
|
yield* driver.continueWithNewest(runId);
|
|
101
112
|
if (Option.isSome(outcome.openAttempt) && Result.isFailure(handshake)) {
|
|
102
113
|
return yield* new AttemptCancellationError({
|
|
@@ -140,8 +151,9 @@ const makeRunEngine = Effect.gen(function* () {
|
|
|
140
151
|
message: error.message,
|
|
141
152
|
})));
|
|
142
153
|
});
|
|
143
|
-
const resolveFailure = Effect.fn("RunEngine.resolveFailure")(function* (runId, attemptId) {
|
|
144
|
-
|
|
154
|
+
const resolveFailure = Effect.fn("RunEngine.resolveFailure")(function* (runId, attemptId, operator) {
|
|
155
|
+
yield* Effect.annotateCurrentSpan({ runId, attemptId });
|
|
156
|
+
if (!(yield* store.resolveFailure(runId, attemptId, operator)))
|
|
145
157
|
return;
|
|
146
158
|
yield* Effect.logInfo("The operator resolved the Agent's question or blocker; the Item's queued Events get their turn", {
|
|
147
159
|
runId,
|
|
@@ -168,8 +180,9 @@ const makeRunEngine = Effect.gen(function* () {
|
|
|
168
180
|
return yield* new LeftoversDiscardRejectedError({ worker, running });
|
|
169
181
|
}
|
|
170
182
|
const attempts = yield* store.discardLeftovers(worker);
|
|
171
|
-
yield* Effect.logInfo("Discarded the leftovers of the Attempts on a Worker that is not configured; startup no longer reconciles them", { worker, attempts });
|
|
172
|
-
|
|
183
|
+
yield* Effect.logInfo("Discarded the leftovers of the Attempts on a Worker that is not configured; startup no longer reconciles them", { worker, attempts: attempts.length });
|
|
184
|
+
yield* stepExecutor.discard(worker, attempts);
|
|
185
|
+
return attempts.length;
|
|
173
186
|
});
|
|
174
187
|
// Startup reconciliation runs here because this layer is memoized; `Layer.tap` would run it
|
|
175
188
|
// once per service the engine is provided to.
|
|
@@ -206,12 +219,16 @@ export const layerWithDatabase = (database) => {
|
|
|
206
219
|
const store = RunStore.layer.pipe(Layer.provide(database));
|
|
207
220
|
const itemWriter = ItemProjectionWriter.layer.pipe(Layer.provide(database));
|
|
208
221
|
const driver = RunDriver.layer.pipe(Layer.provideMerge(store), Layer.provideMerge(AttemptAdmission.layer), Layer.provide(itemWriter));
|
|
209
|
-
const runEngine = Layer.effect(RunEngine, makeRunEngine).
|
|
222
|
+
const runEngine = Layer.mergeAll(Layer.effect(RunEngine, makeRunEngine), Layer.effect(UnconfirmedStops, Effect.gen(function* () {
|
|
223
|
+
const running = yield* RunDriver;
|
|
224
|
+
return UnconfirmedStops.of({ list: running.unconfirmedStops });
|
|
225
|
+
}))).pipe(Layer.provide(driver));
|
|
210
226
|
return Layer.mergeAll(runEngine, BoardMoves.layer.pipe(Layer.provide(database)), CycleBudgets.layer.pipe(Layer.provide(database)), RunReader.layer.pipe(Layer.provide(database)), CursorStore.layer.pipe(Layer.provide(database)), ItemProjectionReader.layer.pipe(Layer.provide(database)), itemWriter, RepositoryLabelProjectionReader.layer.pipe(Layer.provide(database)), RepositoryLabelProjectionWriter.layer.pipe(Layer.provide(database)), LoopControl.layer.pipe(Layer.provide(database)));
|
|
211
227
|
};
|
|
212
228
|
export { Submission, Claimed, Queued, Suppressed, Ignored, CycleBlocked, IgnoreReason, SubmissionResult, } from "./submission.js";
|
|
213
229
|
export { RunAgainRequest, RunAgainResult } from "./run-again.js";
|
|
214
230
|
export { RetryRequest } from "./retry.js";
|
|
215
231
|
export { RunEngineShutdown } from "./shutdown.js";
|
|
232
|
+
export { UnconfirmedStop, UnconfirmedStops } from "./unconfirmed-stops.js";
|
|
216
233
|
export { RunNotFoundError, RunOperationRejectedError, RunRetryBlockedError, EnginePersistenceError, AttemptCancellationError, RunInterventionRejectedError, LeftoversDiscardRejectedError, RunStoreError, RunEngineError, } from "./error.js";
|
|
217
234
|
//# sourceMappingURL=engine.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/engine/engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/engine/engine.ts"],"names":[],"mappings":"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"}
|
package/dist/engine/error.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export declare class RunNotFoundError extends RunNotFoundError_base {
|
|
|
7
7
|
}
|
|
8
8
|
declare const RunOperationRejectedError_base: Schema.Class<RunOperationRejectedError, Schema.TaggedStruct<"RunOperationRejectedError", {
|
|
9
9
|
readonly runId: Schema.brand<Schema.NonEmptyString, "RunId">;
|
|
10
|
-
readonly operation: Schema.Literals<readonly ["approve", "retry", "resolveFailure", "runAgain"]>;
|
|
10
|
+
readonly operation: Schema.Literals<readonly ["approve", "retry", "resolveFailure", "runAgain", "cancel"]>;
|
|
11
11
|
readonly state: Schema.String;
|
|
12
12
|
}>, import("effect/Cause").YieldableError>;
|
|
13
13
|
/** An error for an operator action that the Run's state doesn't allow. */
|
package/dist/engine/error.js
CHANGED
|
@@ -10,7 +10,7 @@ export class RunNotFoundError extends Schema.TaggedError("@usine/engine/RunNotFo
|
|
|
10
10
|
/** An error for an operator action that the Run's state doesn't allow. */
|
|
11
11
|
export class RunOperationRejectedError extends Schema.TaggedError("@usine/engine/RunOperationRejectedError")("RunOperationRejectedError", {
|
|
12
12
|
runId: RunId,
|
|
13
|
-
operation: Schema.Literals(["approve", "retry", "resolveFailure", "runAgain"]),
|
|
13
|
+
operation: Schema.Literals(["approve", "retry", "resolveFailure", "runAgain", "cancel"]),
|
|
14
14
|
state: Schema.String,
|
|
15
15
|
}) {
|
|
16
16
|
}
|
package/dist/engine/error.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/engine/error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,gDAAgD;AAChD,MAAM,OAAO,gBAAiB,SAAQ,MAAM,CAAC,WAAW,CACtD,gCAAgC,CACjC,CAAC,kBAAkB,EAAE;IACpB,KAAK,EAAE,KAAK;CACb,CAAC;CAAG;AAEL,0EAA0E;AAC1E,MAAM,OAAO,yBAA0B,SAAQ,MAAM,CAAC,WAAW,CAC/D,yCAAyC,CAC1C,CAAC,2BAA2B,EAAE;IAC7B,KAAK,EAAE,KAAK;IACZ,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/engine/error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,gDAAgD;AAChD,MAAM,OAAO,gBAAiB,SAAQ,MAAM,CAAC,WAAW,CACtD,gCAAgC,CACjC,CAAC,kBAAkB,EAAE;IACpB,KAAK,EAAE,KAAK;CACb,CAAC;CAAG;AAEL,0EAA0E;AAC1E,MAAM,OAAO,yBAA0B,SAAQ,MAAM,CAAC,WAAW,CAC/D,yCAAyC,CAC1C,CAAC,2BAA2B,EAAE;IAC7B,KAAK,EAAE,KAAK;IACZ,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IACxF,KAAK,EAAE,MAAM,CAAC,MAAM;CACrB,CAAC;CAAG;AAEL,2GAA2G;AAC3G,MAAM,OAAO,oBAAqB,SAAQ,MAAM,CAAC,WAAW,CAC1D,oCAAoC,CACrC,CAAC,sBAAsB,EAAE;IACxB,KAAK,EAAE,KAAK;IACZ,SAAS,EAAE,KAAK;IAChB,OAAO,EAAE,MAAM,CAAC,cAAc;CAC/B,CAAC;CAAG;AAEL,kEAAkE;AAClE,MAAM,OAAO,sBAAuB,SAAQ,MAAM,CAAC,WAAW,CAC5D,sCAAsC,CACvC,CAAC,wBAAwB,EAAE;IAC1B,SAAS,EAAE,MAAM,CAAC,MAAM;IACxB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;CACvB,CAAC;CAAG;AAEL,gFAAgF;AAChF,MAAM,OAAO,wBAAyB,SAAQ,MAAM,CAAC,WAAW,CAC9D,wCAAwC,CACzC,CAAC,0BAA0B,EAAE;IAC5B,SAAS,EAAE,SAAS;IACpB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;CACvB,CAAC;CAAG;AAEL,mDAAmD;AACnD,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC;IACxC,gBAAgB;IAChB,yBAAyB;IACzB,oBAAoB;IACpB,sBAAsB;CACvB,CAAC,CAAC;AAIH,+FAA+F;AAC/F,MAAM,OAAO,4BAA6B,SAAQ,MAAM,CAAC,WAAW,CAClE,4CAA4C,CAC7C,CAAC,8BAA8B,EAAE;IAChC,KAAK,EAAE,KAAK;IACZ,SAAS,EAAE,SAAS;IACpB,OAAO,EAAE,MAAM,CAAC,cAAc;CAC/B,CAAC;CAAG;AAEL;;;GAGG;AACH,MAAM,OAAO,6BAA8B,SAAQ,MAAM,CAAC,WAAW,CACnE,6CAA6C,CAC9C,CAAC,+BAA+B,EAAE;IACjC,MAAM,EAAE,UAAU;IAClB,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;CAC5D,CAAC;CAAG;AAEL,4DAA4D;AAC5D,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC;IACzC,gBAAgB;IAChB,yBAAyB;IACzB,oBAAoB;IACpB,sBAAsB;IACtB,wBAAwB;IACxB,4BAA4B;CAC7B,CAAC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Attempt, AttemptId, AttemptNumber } from "@usine/core/attempt";
|
|
2
2
|
import { AttemptFailure, InfraFailure } from "@usine/core/attempt/failure";
|
|
3
3
|
import { AttemptCanceled, AttemptFailed, AttemptSucceeded } from "@usine/core/attempt/outcome";
|
|
4
|
-
import
|
|
4
|
+
import { SalvagePushed } from "@usine/core/attempt/salvage";
|
|
5
5
|
import { type AttemptStart, type OperatorRetryStart } from "@usine/core/attempt/start";
|
|
6
6
|
import { EventId } from "@usine/core/event";
|
|
7
7
|
import { Run, RunId } from "@usine/core/run";
|
|
@@ -67,6 +67,8 @@ type StartDecision = {
|
|
|
67
67
|
export declare const beginAttempt: (current: RunProgress, interruption: InfraFailure, live: Option.Option<AttemptId>, requested: Option.Option<OperatorRetryStart>) => StartDecision;
|
|
68
68
|
type CancelDecision = {
|
|
69
69
|
readonly _tag: "AlreadyClosed";
|
|
70
|
+
} | {
|
|
71
|
+
readonly _tag: "CancelRejected";
|
|
70
72
|
} | {
|
|
71
73
|
readonly _tag: "Canceled";
|
|
72
74
|
readonly state: RunState.Canceled;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/engine/lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAmB,MAAM,qBAAqB,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/F,OAAO,
|
|
1
|
+
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/engine/lifecycle.ts"],"names":[],"mappings":"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"}
|
package/dist/engine/lifecycle.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { Attempt, AttemptId, AttemptNumber, shouldAutoRetry } from "@usine/core/attempt";
|
|
2
2
|
import { AttemptFailure, InfraFailure } from "@usine/core/attempt/failure";
|
|
3
3
|
import { AttemptCanceled, AttemptFailed, AttemptSucceeded } from "@usine/core/attempt/outcome";
|
|
4
|
+
import { SalvagePushed } from "@usine/core/attempt/salvage";
|
|
4
5
|
import { StartedAfterRestart, StartedByEvent, StartedByInfraRetry, } from "@usine/core/attempt/start";
|
|
5
6
|
import { EventId } from "@usine/core/event";
|
|
6
7
|
import { Run, RunId } from "@usine/core/run";
|
|
7
8
|
import * as RunState from "@usine/core/run/state";
|
|
8
9
|
import { StepResult } from "@usine/core/step/result";
|
|
9
|
-
import { Array as EffectArray, Option, Result } from "effect";
|
|
10
|
+
import { Array as EffectArray, Match, Option, Result } from "effect";
|
|
10
11
|
const MAX_AUTO_ATTEMPTS = AttemptNumber.make(3);
|
|
11
12
|
const openAttempt = (current) => Option.fromNullishOr(current.attempts.at(-1)).pipe(Option.filter((attempt) => Option.isNone(attempt.outcome)));
|
|
12
13
|
const failRunningAttempt = (state, attempt, failure) => {
|
|
@@ -41,8 +42,15 @@ export const finishAttempt = (current, attemptId, result) => {
|
|
|
41
42
|
result: result.success,
|
|
42
43
|
};
|
|
43
44
|
};
|
|
45
|
+
/** Returns the part of `salvage` that another Worker can fetch, if any. */
|
|
46
|
+
const pushedPart = (salvage) => Match.valueTags(salvage, {
|
|
47
|
+
Pushed: (pushed) => Option.some(pushed),
|
|
48
|
+
PartlyPushed: ({ ref, commit }) => Option.some(new SalvagePushed({ ref, commit })),
|
|
49
|
+
Retained: () => Option.none(),
|
|
50
|
+
Rejected: () => Option.none(),
|
|
51
|
+
});
|
|
44
52
|
// Only a pushed salvage can be fetched on another Worker, so a retry resumes from the newest one.
|
|
45
|
-
const newestPushedSalvage = (attempts) => EffectArray.findLast(attempts, (attempt) => Option.
|
|
53
|
+
const newestPushedSalvage = (attempts) => EffectArray.findLast(attempts, (attempt) => Option.flatMap(attempt.salvage, pushedPart));
|
|
46
54
|
/**
|
|
47
55
|
* Returns how the next Attempt starts after a Worker reservation. If an open Attempt's parent
|
|
48
56
|
* task is `live`, reattaches it without using a retry; otherwise fails it with `interruption`,
|
|
@@ -83,8 +91,10 @@ export const beginAttempt = (current, interruption, live, requested) => {
|
|
|
83
91
|
};
|
|
84
92
|
/** Returns the cancel decision for an open Run and its open Attempt, if any. */
|
|
85
93
|
export const cancelRun = (current) => {
|
|
86
|
-
if (
|
|
94
|
+
if (current.run.state._tag === "Canceled")
|
|
87
95
|
return { _tag: "AlreadyClosed" };
|
|
96
|
+
if (!RunState.isOpen(current.run.state))
|
|
97
|
+
return { _tag: "CancelRejected" };
|
|
88
98
|
return {
|
|
89
99
|
_tag: "Canceled",
|
|
90
100
|
state: RunState.cancelByOperator(current.run.state),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/engine/lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/engine/lifecycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,9 @@ import { RunStore } from "../store/store.ts";
|
|
|
7
7
|
import { TriggerCondition } from "../trigger-condition.ts";
|
|
8
8
|
import { AttemptAdmission } from "./admission.ts";
|
|
9
9
|
import type { RunStoreError } from "./error.ts";
|
|
10
|
+
import { UnconfirmedStop } from "./unconfirmed-stops.ts";
|
|
11
|
+
/** An Attempt whose parent task the engine stops, with its Run's Loop and Item and the reason. */
|
|
12
|
+
export type StopTarget = Pick<UnconfirmedStop, "attemptId" | "runId" | "loop" | "itemKey" | "reason">;
|
|
10
13
|
declare const RunDriver_base: Context.ServiceClass<RunDriver, "@usine/engine/internal/RunDriver", {
|
|
11
14
|
/** Starts the fiber of an open Run, unless one already runs here. */
|
|
12
15
|
readonly launch: (runId: RunId) => Effect.Effect<void>;
|
|
@@ -22,9 +25,12 @@ declare const RunDriver_base: Context.ServiceClass<RunDriver, "@usine/engine/int
|
|
|
22
25
|
/**
|
|
23
26
|
* Opens the queued Events whose continuation didn't run and starts a fiber for every open Run
|
|
24
27
|
* without one, except Runs waiting for approval. Also retries the parent task stops that
|
|
25
|
-
* `releaseKept` or
|
|
28
|
+
* `releaseKept`, `recoverWorkspaces`, or the end of an Attempt couldn't confirm, then runs
|
|
29
|
+
* `StepExecutor.sweep`.
|
|
26
30
|
*/
|
|
27
31
|
readonly reconcile: () => Effect.Effect<void, RunStoreError>;
|
|
32
|
+
/** Returns the closed Attempts whose parent task stop `reconcile` retries. */
|
|
33
|
+
readonly unconfirmedStops: Effect.Effect<ReadonlyArray<UnconfirmedStop>>;
|
|
28
34
|
/**
|
|
29
35
|
* Reconciles at startup the checkout of every persisted Attempt on a configured Worker, before
|
|
30
36
|
* any Run admits its next Attempt. Keeps the checkout and occupies a Worker slot (#177) for
|
|
@@ -33,19 +39,27 @@ declare const RunDriver_base: Context.ServiceClass<RunDriver, "@usine/engine/int
|
|
|
33
39
|
*/
|
|
34
40
|
readonly recoverWorkspaces: () => Effect.Effect<void, RunStoreError>;
|
|
35
41
|
/**
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
* each `reconcile` retries.
|
|
42
|
+
* Moves the slot that the fiber of Run `runId` holds to its Attempt `attemptId`, whose parent
|
|
43
|
+
* task may still run, so the slot stays taken after the fiber frees it, until `releaseKept`
|
|
44
|
+
* confirms that the parent task stopped (#475). Does nothing if the fiber holds no slot.
|
|
40
45
|
*/
|
|
41
|
-
readonly
|
|
46
|
+
readonly holdSlot: (runId: RunId, attemptId: AttemptId) => Effect.Effect<void>;
|
|
47
|
+
/**
|
|
48
|
+
* Releases the slot kept for the Attempt of `stop`: the slot that `holdSlot` moved, or what
|
|
49
|
+
* `recoverWorkspaces` kept for reattaching it. Once the parent task is confirmed stopped for
|
|
50
|
+
* `stop.reason`, reconciles a kept checkout and releases the slot. Until then, both stay kept
|
|
51
|
+
* (#177, #475), no Run of the Loop on the Item starts an Attempt (#523), and each `reconcile`
|
|
52
|
+
* retries.
|
|
53
|
+
*/
|
|
54
|
+
readonly releaseKept: (stop: StopTarget) => Effect.Effect<void>;
|
|
42
55
|
}>;
|
|
43
56
|
/**
|
|
44
57
|
* The service that drives open Runs in this process, one fiber per Run. A fiber parks a gated
|
|
45
58
|
* Run for approval, then reserves a Worker, starts or reattaches the Attempt, records its
|
|
46
59
|
* outcome, and repeats until the Run closes. The fiber that closes a Run gives the Item's newest
|
|
47
60
|
* queued Event its turn; cancel, supersede, and revoke do that themselves. A fiber that ends
|
|
48
|
-
* without closing its Run leaves it for `resume` or `reconcile
|
|
61
|
+
* without closing its Run leaves it for `resume` or `reconcile`, as one does instead of starting
|
|
62
|
+
* an Attempt while a parent task on its Loop's Item isn't confirmed stopped (#523).
|
|
49
63
|
*/
|
|
50
64
|
export declare class RunDriver extends RunDriver_base {
|
|
51
65
|
static readonly layer: Layer.Layer<RunDriver, never, AttemptAdmission | Crypto.Crypto | ItemProjectionWriter | RunStore | StepExecutor | TriggerCondition>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-driver.d.ts","sourceRoot":"","sources":["../../src/engine/run-driver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAG9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAG7C,OAAO,EAEL,OAAO,EACP,MAAM,EAEN,MAAM,EAGN,KAAK,EAKN,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"run-driver.d.ts","sourceRoot":"","sources":["../../src/engine/run-driver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAG9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAG7C,OAAO,EAEL,OAAO,EACP,MAAM,EAEN,MAAM,EAGN,KAAK,EAKN,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAoB,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,KAAK,EAKV,aAAa,EACd,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AA6DzD,kGAAkG;AAClG,MAAM,MAAM,UAAU,GAAG,IAAI,CAC3B,eAAe,EACf,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CACtD,CAAC;;IAmBE,qEAAqE;qBACpD,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;IACtD,4GAA4G;qBAC3F,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;IACtD,oEAAoE;mBACrD,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;IACpD;;;OAGG;iCAC0B,CAAC,WAAW,EAAE,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC;IACvF;;;;;OAKG;wBACiB,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC;IAC5D,8EAA8E;+BACnD,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;IACxE;;;;;OAKG;gCACyB,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC;IACpE;;;;OAIG;uBACgB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;IAC9E;;;;;;OAMG;0BACmB,CAAC,IAAI,EAAE,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;;AAnDnE;;;;;;;GAOG;AACH,qBAAa,SAAU,SAAQ,cA6CQ;IACrC,MAAM,CAAC,QAAQ,CAAC,KAAK,sIAilBnB;CACH"}
|