@okrlinkhub/agent-factory 1.0.7 → 1.0.9
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/dist/component/providers/fly.d.ts +1 -0
- package/dist/component/providers/fly.d.ts.map +1 -1
- package/dist/component/providers/fly.js +14 -0
- package/dist/component/providers/fly.js.map +1 -1
- package/dist/component/scheduler.d.ts.map +1 -1
- package/dist/component/scheduler.js +93 -16
- package/dist/component/scheduler.js.map +1 -1
- package/package.json +1 -1
- package/src/component/lib.test.ts +166 -0
- package/src/component/providers/fly.ts +15 -0
- package/src/component/scheduler.ts +118 -16
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fly.d.ts","sourceRoot":"","sources":["../../../src/component/providers/fly.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,oBAAoB,GAC5B,QAAQ,GACR,SAAS,CAAC;AAEd,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"fly.d.ts","sourceRoot":"","sources":["../../../src/component/providers/fly.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,6 +42,7 @@ export class FlyMachinesProvider {
|
|
|
42
42
|
region: machine.region ?? input.region,
|
|
43
43
|
image: machine.config?.image_ref ?? machine.config?.image ?? input.image,
|
|
44
44
|
status: mapFlyStateToProviderStatus(machine.state),
|
|
45
|
+
rawState: machine.state,
|
|
45
46
|
};
|
|
46
47
|
}
|
|
47
48
|
async resolveOrCreateVolumeId(appName, volumeNamePrefix, workerId, region, volumeSizeGb) {
|
|
@@ -76,6 +77,7 @@ export class FlyMachinesProvider {
|
|
|
76
77
|
region: machine.region,
|
|
77
78
|
image: machine.config?.image_ref ?? machine.config?.image,
|
|
78
79
|
status: mapFlyStateToProviderStatus(machine.state),
|
|
80
|
+
rawState: machine.state,
|
|
79
81
|
}));
|
|
80
82
|
}
|
|
81
83
|
async terminateWorker(appName, machineId) {
|
|
@@ -222,12 +224,24 @@ export const deleteFlyVolumeManual = action({
|
|
|
222
224
|
});
|
|
223
225
|
function mapFlyStateToProviderStatus(state) {
|
|
224
226
|
switch (state) {
|
|
227
|
+
case "creating":
|
|
225
228
|
case "created":
|
|
229
|
+
case "starting":
|
|
226
230
|
case "started":
|
|
231
|
+
case "restarting":
|
|
232
|
+
case "updating":
|
|
233
|
+
case "replacing":
|
|
227
234
|
return "active";
|
|
235
|
+
case "stopping":
|
|
236
|
+
case "suspending":
|
|
237
|
+
case "destroying":
|
|
238
|
+
case "launch_failed":
|
|
239
|
+
case "failed":
|
|
228
240
|
case "stopped":
|
|
229
241
|
case "destroyed":
|
|
230
242
|
case "suspended":
|
|
243
|
+
case "replaced":
|
|
244
|
+
case "migrated":
|
|
231
245
|
return "stopped";
|
|
232
246
|
default:
|
|
233
247
|
return "stopped";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fly.js","sourceRoot":"","sources":["../../../src/component/providers/fly.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"fly.js","sourceRoot":"","sources":["../../../src/component/providers/fly.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/component/scheduler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/component/scheduler.ts"],"names":[],"mappings":"AA+EA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;GAM9B,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;GAMtC,CAAC;AAEH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;iBAezC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;GAM/B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;GAM7B,CAAC"}
|
|
@@ -28,6 +28,7 @@ const enforceIdleShutdownsReturns = v.object({
|
|
|
28
28
|
pending: v.number(),
|
|
29
29
|
nextCheckScheduled: v.boolean(),
|
|
30
30
|
});
|
|
31
|
+
const PROVIDER_RECONCILE_GRACE_MS = 90_000;
|
|
31
32
|
export const reconcileWorkerPool = action({
|
|
32
33
|
args: reconcileWorkerPoolArgs,
|
|
33
34
|
returns: reconcileWorkerPoolReturns,
|
|
@@ -220,23 +221,80 @@ async function runWorkerLifecycleCycle(ctx, input) {
|
|
|
220
221
|
const toSpawn = Math.min(input.scaling.spawnStep, input.desiredActiveWorkers - claimableWorkers);
|
|
221
222
|
for (let index = 0; index < toSpawn; index += 1) {
|
|
222
223
|
const workerId = `afw-${input.nowMs}-${index}`;
|
|
223
|
-
|
|
224
|
+
await ctx.runMutation(internal.queue.upsertWorkerState, {
|
|
224
225
|
workerId,
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
volumeSizeGb: input.providerConfig.volumeSizeGb,
|
|
231
|
-
env: compactEnv({
|
|
232
|
-
...DEFAULT_WORKER_RUNTIME_ENV,
|
|
233
|
-
...forwardedOpenClawEnv,
|
|
234
|
-
CONVEX_URL: input.convexUrl ?? "",
|
|
235
|
-
WORKSPACE_ID: input.workspaceId ?? "default",
|
|
236
|
-
WORKER_ID: workerId,
|
|
237
|
-
WORKER_IDLE_TIMEOUT_MS: String(input.scaling.idleTimeoutMs),
|
|
238
|
-
}),
|
|
226
|
+
provider: input.providerConfig.kind,
|
|
227
|
+
status: "active",
|
|
228
|
+
load: 0,
|
|
229
|
+
nowMs: input.nowMs,
|
|
230
|
+
scheduledShutdownAt: input.nowMs + input.scaling.idleTimeoutMs,
|
|
239
231
|
});
|
|
232
|
+
let created;
|
|
233
|
+
try {
|
|
234
|
+
created = await input.provider.spawnWorker({
|
|
235
|
+
workerId,
|
|
236
|
+
appName: input.providerConfig.appName,
|
|
237
|
+
image: input.providerConfig.image,
|
|
238
|
+
region: input.providerConfig.region,
|
|
239
|
+
volumeName: input.providerConfig.volumeName,
|
|
240
|
+
volumePath: input.providerConfig.volumePath,
|
|
241
|
+
volumeSizeGb: input.providerConfig.volumeSizeGb,
|
|
242
|
+
env: compactEnv({
|
|
243
|
+
...DEFAULT_WORKER_RUNTIME_ENV,
|
|
244
|
+
...forwardedOpenClawEnv,
|
|
245
|
+
CONVEX_URL: input.convexUrl ?? "",
|
|
246
|
+
WORKSPACE_ID: input.workspaceId ?? "default",
|
|
247
|
+
WORKER_ID: workerId,
|
|
248
|
+
WORKER_IDLE_TIMEOUT_MS: String(input.scaling.idleTimeoutMs),
|
|
249
|
+
}),
|
|
250
|
+
});
|
|
251
|
+
}
|
|
252
|
+
catch (error) {
|
|
253
|
+
console.error(`[scheduler] worker spawn failed after preregistration workerId=${workerId} appName=${input.providerConfig.appName} nowMs=${input.nowMs}: ${error instanceof Error ? error.message : String(error)}`);
|
|
254
|
+
await transitionWorkerToDraining(ctx, {
|
|
255
|
+
workerId,
|
|
256
|
+
status: "active",
|
|
257
|
+
load: 0,
|
|
258
|
+
heartbeatAt: input.nowMs,
|
|
259
|
+
lastClaimAt: null,
|
|
260
|
+
scheduledShutdownAt: input.nowMs,
|
|
261
|
+
stoppedAt: null,
|
|
262
|
+
lastSnapshotId: null,
|
|
263
|
+
assignment: null,
|
|
264
|
+
machineId: null,
|
|
265
|
+
appName: input.providerConfig.appName,
|
|
266
|
+
region: input.providerConfig.region,
|
|
267
|
+
}, input.providerConfig, input.nowMs, false);
|
|
268
|
+
await transitionWorkerToStopping(ctx, {
|
|
269
|
+
workerId,
|
|
270
|
+
status: "draining",
|
|
271
|
+
load: 0,
|
|
272
|
+
heartbeatAt: input.nowMs,
|
|
273
|
+
lastClaimAt: null,
|
|
274
|
+
scheduledShutdownAt: input.nowMs,
|
|
275
|
+
stoppedAt: null,
|
|
276
|
+
lastSnapshotId: null,
|
|
277
|
+
assignment: null,
|
|
278
|
+
machineId: null,
|
|
279
|
+
appName: input.providerConfig.appName,
|
|
280
|
+
region: input.providerConfig.region,
|
|
281
|
+
}, input.providerConfig, input.nowMs, false);
|
|
282
|
+
await transitionWorkerToStopped(ctx, {
|
|
283
|
+
workerId,
|
|
284
|
+
status: "stopping",
|
|
285
|
+
load: 0,
|
|
286
|
+
heartbeatAt: input.nowMs,
|
|
287
|
+
lastClaimAt: null,
|
|
288
|
+
scheduledShutdownAt: input.nowMs,
|
|
289
|
+
stoppedAt: input.nowMs,
|
|
290
|
+
lastSnapshotId: null,
|
|
291
|
+
assignment: null,
|
|
292
|
+
machineId: null,
|
|
293
|
+
appName: input.providerConfig.appName,
|
|
294
|
+
region: input.providerConfig.region,
|
|
295
|
+
}, input.providerConfig, input.nowMs);
|
|
296
|
+
throw error;
|
|
297
|
+
}
|
|
240
298
|
await ctx.runMutation(internal.queue.upsertWorkerState, {
|
|
241
299
|
workerId: created.workerId,
|
|
242
300
|
provider: input.providerConfig.kind,
|
|
@@ -541,8 +599,13 @@ async function reconcileWorkersAgainstProvider(ctx, input) {
|
|
|
541
599
|
if (machineId) {
|
|
542
600
|
const providerWorker = providerWorkersByMachineId.get(machineId);
|
|
543
601
|
if (!providerWorker || providerWorker.status !== "active") {
|
|
602
|
+
const withinGraceWindow = isWithinProviderReconcileGraceWindow(worker, input.nowMs);
|
|
603
|
+
if (withinGraceWindow && (!providerWorker || isFlyTransientState(providerWorker.rawState))) {
|
|
604
|
+
console.warn(`[scheduler] provider reconcile grace workerId=${worker.workerId} machineId=${machineId} dbStatus=${worker.status} providerStatus=${providerWorker?.status ?? "missing"} rawFlyState=${providerWorker?.rawState ?? "missing"} appName=${input.providerConfig.appName} heartbeatAt=${worker.heartbeatAt} nowMs=${input.nowMs} graceMs=${PROVIDER_RECONCILE_GRACE_MS}`);
|
|
605
|
+
continue;
|
|
606
|
+
}
|
|
544
607
|
if (!isWorkerTerminal(worker.status)) {
|
|
545
|
-
console.warn(`[scheduler] provider reconcile deactivating workerId=${worker.workerId} machineId=${machineId} dbStatus=${worker.status} providerStatus=${providerWorker?.status ?? "missing"} appName=${input.providerConfig.appName} scheduledShutdownAt=${worker.scheduledShutdownAt ?? "missing"} heartbeatAt=${worker.heartbeatAt} nowMs=${input.nowMs}`);
|
|
608
|
+
console.warn(`[scheduler] provider reconcile deactivating workerId=${worker.workerId} machineId=${machineId} dbStatus=${worker.status} providerStatus=${providerWorker?.status ?? "missing"} rawFlyState=${providerWorker?.rawState ?? "missing"} appName=${input.providerConfig.appName} scheduledShutdownAt=${worker.scheduledShutdownAt ?? "missing"} heartbeatAt=${worker.heartbeatAt} nowMs=${input.nowMs}`);
|
|
546
609
|
if (isWorkerClaimable(worker.status)) {
|
|
547
610
|
deactivated += 1;
|
|
548
611
|
await transitionWorkerToDraining(ctx, {
|
|
@@ -585,6 +648,20 @@ function warnOnMixedProviderImages(providerWorkers, providerConfig) {
|
|
|
585
648
|
console.warn(`[scheduler] target image ${providerConfig.image} is not active yet for app=${providerConfig.appName}`);
|
|
586
649
|
}
|
|
587
650
|
}
|
|
651
|
+
function isWithinProviderReconcileGraceWindow(worker, nowMs) {
|
|
652
|
+
return nowMs - worker.heartbeatAt <= PROVIDER_RECONCILE_GRACE_MS;
|
|
653
|
+
}
|
|
654
|
+
function isFlyTransientState(rawState) {
|
|
655
|
+
return new Set([
|
|
656
|
+
"creating",
|
|
657
|
+
"created",
|
|
658
|
+
"starting",
|
|
659
|
+
"started",
|
|
660
|
+
"restarting",
|
|
661
|
+
"updating",
|
|
662
|
+
"replacing",
|
|
663
|
+
]).has(rawState ?? "");
|
|
664
|
+
}
|
|
588
665
|
function isSafeMissingMachineError(error) {
|
|
589
666
|
const message = error instanceof Error ? error.message : String(error);
|
|
590
667
|
return /not found|unknown machine|does not exist|internal server error/i.test(message);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/component/scheduler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/component/scheduler.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1905,6 +1905,98 @@ describe("component lib", () => {
|
|
|
1905
1905
|
expect(worker?.status).toBe("stopped");
|
|
1906
1906
|
});
|
|
1907
1907
|
|
|
1908
|
+
test("provider transient machine states should remain active", async () => {
|
|
1909
|
+
const t = initConvexTest();
|
|
1910
|
+
const nowMs = Date.UTC(2026, 0, 1, 19, 15, 0);
|
|
1911
|
+
vi.setSystemTime(nowMs);
|
|
1912
|
+
const fetchMock = vi.fn(async (input: RequestInfo | URL, init?: RequestInit) => {
|
|
1913
|
+
const url = String(input);
|
|
1914
|
+
const method = init?.method ?? "GET";
|
|
1915
|
+
if (url.endsWith(`/apps/${TEST_PROVIDER_CONFIG.appName}/machines`) && method === "GET") {
|
|
1916
|
+
return jsonResponse([
|
|
1917
|
+
{
|
|
1918
|
+
id: "machine-provider-creating-1",
|
|
1919
|
+
name: "worker-provider-creating-1",
|
|
1920
|
+
region: TEST_PROVIDER_CONFIG.region,
|
|
1921
|
+
state: "creating",
|
|
1922
|
+
config: { image: TEST_PROVIDER_CONFIG.image },
|
|
1923
|
+
},
|
|
1924
|
+
]);
|
|
1925
|
+
}
|
|
1926
|
+
if (url.endsWith(`/apps/${TEST_PROVIDER_CONFIG.appName}/volumes`) && method === "GET") {
|
|
1927
|
+
return jsonResponse([]);
|
|
1928
|
+
}
|
|
1929
|
+
throw new Error(`Unexpected fetch ${method} ${url}`);
|
|
1930
|
+
});
|
|
1931
|
+
vi.stubGlobal("fetch", fetchMock);
|
|
1932
|
+
|
|
1933
|
+
await t.mutation(internal.queue.upsertWorkerState, {
|
|
1934
|
+
workerId: "worker-provider-creating-1",
|
|
1935
|
+
provider: "fly",
|
|
1936
|
+
status: "active",
|
|
1937
|
+
load: 1,
|
|
1938
|
+
nowMs,
|
|
1939
|
+
machineId: "machine-provider-creating-1",
|
|
1940
|
+
appName: TEST_PROVIDER_CONFIG.appName,
|
|
1941
|
+
region: TEST_PROVIDER_CONFIG.region,
|
|
1942
|
+
});
|
|
1943
|
+
|
|
1944
|
+
const reconcile = await t.action(api.scheduler.checkIdleShutdowns, {
|
|
1945
|
+
nowMs,
|
|
1946
|
+
flyApiToken: "fly-token",
|
|
1947
|
+
providerConfig: TEST_PROVIDER_CONFIG,
|
|
1948
|
+
});
|
|
1949
|
+
expect(reconcile.stopped).toBe(0);
|
|
1950
|
+
|
|
1951
|
+
const workers = await t.query((internal.queue as any).listWorkersForScheduler, {});
|
|
1952
|
+
const worker = workers.find(
|
|
1953
|
+
(row: { workerId: string }) => row.workerId === "worker-provider-creating-1",
|
|
1954
|
+
);
|
|
1955
|
+
expect(worker?.status).toBe("active");
|
|
1956
|
+
});
|
|
1957
|
+
|
|
1958
|
+
test("fresh missing provider workers should remain active during grace window", async () => {
|
|
1959
|
+
const t = initConvexTest();
|
|
1960
|
+
const nowMs = Date.UTC(2026, 0, 1, 19, 20, 0);
|
|
1961
|
+
vi.setSystemTime(nowMs);
|
|
1962
|
+
const fetchMock = vi.fn(async (input: RequestInfo | URL, init?: RequestInit) => {
|
|
1963
|
+
const url = String(input);
|
|
1964
|
+
const method = init?.method ?? "GET";
|
|
1965
|
+
if (url.endsWith(`/apps/${TEST_PROVIDER_CONFIG.appName}/machines`) && method === "GET") {
|
|
1966
|
+
return jsonResponse([]);
|
|
1967
|
+
}
|
|
1968
|
+
if (url.endsWith(`/apps/${TEST_PROVIDER_CONFIG.appName}/volumes`) && method === "GET") {
|
|
1969
|
+
return jsonResponse([]);
|
|
1970
|
+
}
|
|
1971
|
+
throw new Error(`Unexpected fetch ${method} ${url}`);
|
|
1972
|
+
});
|
|
1973
|
+
vi.stubGlobal("fetch", fetchMock);
|
|
1974
|
+
|
|
1975
|
+
await t.mutation(internal.queue.upsertWorkerState, {
|
|
1976
|
+
workerId: "worker-provider-missing-fresh-1",
|
|
1977
|
+
provider: "fly",
|
|
1978
|
+
status: "active",
|
|
1979
|
+
load: 0,
|
|
1980
|
+
nowMs,
|
|
1981
|
+
machineId: "machine-provider-missing-fresh-1",
|
|
1982
|
+
appName: TEST_PROVIDER_CONFIG.appName,
|
|
1983
|
+
region: TEST_PROVIDER_CONFIG.region,
|
|
1984
|
+
});
|
|
1985
|
+
|
|
1986
|
+
const reconcile = await t.action(api.scheduler.checkIdleShutdowns, {
|
|
1987
|
+
nowMs: nowMs + 15_000,
|
|
1988
|
+
flyApiToken: "fly-token",
|
|
1989
|
+
providerConfig: TEST_PROVIDER_CONFIG,
|
|
1990
|
+
});
|
|
1991
|
+
expect(reconcile.stopped).toBe(0);
|
|
1992
|
+
|
|
1993
|
+
const workers = await t.query((internal.queue as any).listWorkersForScheduler, {});
|
|
1994
|
+
const worker = workers.find(
|
|
1995
|
+
(row: { workerId: string }) => row.workerId === "worker-provider-missing-fresh-1",
|
|
1996
|
+
);
|
|
1997
|
+
expect(worker?.status).toBe("active");
|
|
1998
|
+
});
|
|
1999
|
+
|
|
1908
2000
|
test("provider-unavailable active workers should enter draining before teardown", async () => {
|
|
1909
2001
|
const t = initConvexTest();
|
|
1910
2002
|
const nowMs = Date.UTC(2026, 0, 1, 19, 30, 0);
|
|
@@ -1989,6 +2081,80 @@ describe("component lib", () => {
|
|
|
1989
2081
|
expect(teardownCalls).toHaveLength(0);
|
|
1990
2082
|
});
|
|
1991
2083
|
|
|
2084
|
+
test("spawn failure should not leave preregistered worker active", async () => {
|
|
2085
|
+
const t = initConvexTest();
|
|
2086
|
+
const nowMs = Date.UTC(2026, 0, 1, 19, 35, 0);
|
|
2087
|
+
vi.setSystemTime(nowMs);
|
|
2088
|
+
const fetchMock = vi.fn(async (input: RequestInfo | URL, init?: RequestInit) => {
|
|
2089
|
+
const url = String(input);
|
|
2090
|
+
const method = init?.method ?? "GET";
|
|
2091
|
+
if (url.endsWith(`/apps/${TEST_PROVIDER_CONFIG.appName}/machines`) && method === "GET") {
|
|
2092
|
+
return jsonResponse([]);
|
|
2093
|
+
}
|
|
2094
|
+
if (url.endsWith(`/apps/${TEST_PROVIDER_CONFIG.appName}/volumes`) && method === "GET") {
|
|
2095
|
+
return jsonResponse([]);
|
|
2096
|
+
}
|
|
2097
|
+
if (url.endsWith(`/apps/${TEST_PROVIDER_CONFIG.appName}/volumes`) && method === "POST") {
|
|
2098
|
+
return jsonResponse({
|
|
2099
|
+
id: "vol-spawn-failure-1",
|
|
2100
|
+
name: buildDedicatedVolumeName(TEST_PROVIDER_CONFIG.volumeName, "afw-spawn-failure"),
|
|
2101
|
+
region: TEST_PROVIDER_CONFIG.region,
|
|
2102
|
+
});
|
|
2103
|
+
}
|
|
2104
|
+
if (url.endsWith(`/apps/${TEST_PROVIDER_CONFIG.appName}/machines`) && method === "POST") {
|
|
2105
|
+
throw new Error("simulated spawn failure");
|
|
2106
|
+
}
|
|
2107
|
+
throw new Error(`Unexpected fetch ${method} ${url}`);
|
|
2108
|
+
});
|
|
2109
|
+
vi.stubGlobal("fetch", fetchMock);
|
|
2110
|
+
|
|
2111
|
+
await t.mutation(api.queue.upsertAgentProfile, {
|
|
2112
|
+
agentKey: "support-agent",
|
|
2113
|
+
version: "1.0.0",
|
|
2114
|
+
secretsRef: [],
|
|
2115
|
+
enabled: true,
|
|
2116
|
+
});
|
|
2117
|
+
await t.mutation(api.queue.importPlaintextSecret, {
|
|
2118
|
+
secretRef: "fly.apiToken",
|
|
2119
|
+
plaintextValue: "fly-token",
|
|
2120
|
+
});
|
|
2121
|
+
await t.mutation(api.queue.importPlaintextSecret, {
|
|
2122
|
+
secretRef: "convex.url",
|
|
2123
|
+
plaintextValue: "https://example.convex.cloud",
|
|
2124
|
+
});
|
|
2125
|
+
await t.mutation(api.queue.enqueueMessage, {
|
|
2126
|
+
conversationId: "telegram:chat:spawn-failure",
|
|
2127
|
+
agentKey: "support-agent",
|
|
2128
|
+
payload: {
|
|
2129
|
+
provider: "telegram",
|
|
2130
|
+
providerUserId: "u-spawn-failure",
|
|
2131
|
+
messageText: "hello",
|
|
2132
|
+
},
|
|
2133
|
+
nowMs,
|
|
2134
|
+
});
|
|
2135
|
+
|
|
2136
|
+
await expect(
|
|
2137
|
+
t.action(api.scheduler.reconcileWorkerPool, {
|
|
2138
|
+
nowMs,
|
|
2139
|
+
flyApiToken: "fly-token",
|
|
2140
|
+
convexUrl: "https://example.convex.cloud",
|
|
2141
|
+
scalingPolicy: {
|
|
2142
|
+
maxWorkers: 5,
|
|
2143
|
+
queuePerWorkerTarget: 1,
|
|
2144
|
+
spawnStep: 1,
|
|
2145
|
+
idleTimeoutMs: 300_000,
|
|
2146
|
+
reconcileIntervalMs: 15_000,
|
|
2147
|
+
},
|
|
2148
|
+
providerConfig: TEST_PROVIDER_CONFIG,
|
|
2149
|
+
}),
|
|
2150
|
+
).rejects.toThrow("simulated spawn failure");
|
|
2151
|
+
|
|
2152
|
+
const workers = await t.query((internal.queue as any).listWorkersForScheduler, {});
|
|
2153
|
+
const worker = workers.find((row: { workerId: string }) => row.workerId === `afw-${nowMs}-0`);
|
|
2154
|
+
expect(worker?.status).toBe("stopped");
|
|
2155
|
+
expect(worker?.machineId).toBeNull();
|
|
2156
|
+
});
|
|
2157
|
+
|
|
1992
2158
|
test("push jobs should dispatch scheduled messages with fallback user conversation id", async () => {
|
|
1993
2159
|
const t = initConvexTest();
|
|
1994
2160
|
await t.mutation(api.queue.upsertAgentProfile, {
|
|
@@ -25,6 +25,7 @@ export type ProviderWorker = {
|
|
|
25
25
|
region?: string;
|
|
26
26
|
image?: string;
|
|
27
27
|
status: WorkerProviderStatus;
|
|
28
|
+
rawState?: string;
|
|
28
29
|
};
|
|
29
30
|
|
|
30
31
|
export interface WorkerProvider {
|
|
@@ -112,6 +113,7 @@ export class FlyMachinesProvider implements WorkerProvider {
|
|
|
112
113
|
region: machine.region ?? input.region,
|
|
113
114
|
image: machine.config?.image_ref ?? machine.config?.image ?? input.image,
|
|
114
115
|
status: mapFlyStateToProviderStatus(machine.state),
|
|
116
|
+
rawState: machine.state,
|
|
115
117
|
};
|
|
116
118
|
}
|
|
117
119
|
|
|
@@ -156,6 +158,7 @@ export class FlyMachinesProvider implements WorkerProvider {
|
|
|
156
158
|
region: machine.region,
|
|
157
159
|
image: machine.config?.image_ref ?? machine.config?.image,
|
|
158
160
|
status: mapFlyStateToProviderStatus(machine.state),
|
|
161
|
+
rawState: machine.state,
|
|
159
162
|
}));
|
|
160
163
|
}
|
|
161
164
|
|
|
@@ -327,12 +330,24 @@ export const deleteFlyVolumeManual = action({
|
|
|
327
330
|
|
|
328
331
|
function mapFlyStateToProviderStatus(state: string | undefined): WorkerProviderStatus {
|
|
329
332
|
switch (state) {
|
|
333
|
+
case "creating":
|
|
330
334
|
case "created":
|
|
335
|
+
case "starting":
|
|
331
336
|
case "started":
|
|
337
|
+
case "restarting":
|
|
338
|
+
case "updating":
|
|
339
|
+
case "replacing":
|
|
332
340
|
return "active";
|
|
341
|
+
case "stopping":
|
|
342
|
+
case "suspending":
|
|
343
|
+
case "destroying":
|
|
344
|
+
case "launch_failed":
|
|
345
|
+
case "failed":
|
|
333
346
|
case "stopped":
|
|
334
347
|
case "destroyed":
|
|
335
348
|
case "suspended":
|
|
349
|
+
case "replaced":
|
|
350
|
+
case "migrated":
|
|
336
351
|
return "stopped";
|
|
337
352
|
default:
|
|
338
353
|
return "stopped";
|
|
@@ -75,6 +75,8 @@ type SchedulerWorkerRow = {
|
|
|
75
75
|
region: string | null;
|
|
76
76
|
};
|
|
77
77
|
|
|
78
|
+
const PROVIDER_RECONCILE_GRACE_MS = 90_000;
|
|
79
|
+
|
|
78
80
|
export const reconcileWorkerPool = action({
|
|
79
81
|
args: reconcileWorkerPoolArgs,
|
|
80
82
|
returns: reconcileWorkerPoolReturns,
|
|
@@ -346,23 +348,100 @@ async function runWorkerLifecycleCycle(
|
|
|
346
348
|
);
|
|
347
349
|
for (let index = 0; index < toSpawn; index += 1) {
|
|
348
350
|
const workerId = `afw-${input.nowMs}-${index}`;
|
|
349
|
-
|
|
351
|
+
await ctx.runMutation(internal.queue.upsertWorkerState, {
|
|
350
352
|
workerId,
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
volumeSizeGb: input.providerConfig.volumeSizeGb,
|
|
357
|
-
env: compactEnv({
|
|
358
|
-
...DEFAULT_WORKER_RUNTIME_ENV,
|
|
359
|
-
...forwardedOpenClawEnv,
|
|
360
|
-
CONVEX_URL: input.convexUrl ?? "",
|
|
361
|
-
WORKSPACE_ID: input.workspaceId ?? "default",
|
|
362
|
-
WORKER_ID: workerId,
|
|
363
|
-
WORKER_IDLE_TIMEOUT_MS: String(input.scaling.idleTimeoutMs),
|
|
364
|
-
}),
|
|
353
|
+
provider: input.providerConfig.kind,
|
|
354
|
+
status: "active",
|
|
355
|
+
load: 0,
|
|
356
|
+
nowMs: input.nowMs,
|
|
357
|
+
scheduledShutdownAt: input.nowMs + input.scaling.idleTimeoutMs,
|
|
365
358
|
});
|
|
359
|
+
let created;
|
|
360
|
+
try {
|
|
361
|
+
created = await input.provider.spawnWorker({
|
|
362
|
+
workerId,
|
|
363
|
+
appName: input.providerConfig.appName,
|
|
364
|
+
image: input.providerConfig.image,
|
|
365
|
+
region: input.providerConfig.region,
|
|
366
|
+
volumeName: input.providerConfig.volumeName,
|
|
367
|
+
volumePath: input.providerConfig.volumePath,
|
|
368
|
+
volumeSizeGb: input.providerConfig.volumeSizeGb,
|
|
369
|
+
env: compactEnv({
|
|
370
|
+
...DEFAULT_WORKER_RUNTIME_ENV,
|
|
371
|
+
...forwardedOpenClawEnv,
|
|
372
|
+
CONVEX_URL: input.convexUrl ?? "",
|
|
373
|
+
WORKSPACE_ID: input.workspaceId ?? "default",
|
|
374
|
+
WORKER_ID: workerId,
|
|
375
|
+
WORKER_IDLE_TIMEOUT_MS: String(input.scaling.idleTimeoutMs),
|
|
376
|
+
}),
|
|
377
|
+
});
|
|
378
|
+
} catch (error) {
|
|
379
|
+
console.error(
|
|
380
|
+
`[scheduler] worker spawn failed after preregistration workerId=${workerId} appName=${input.providerConfig.appName} nowMs=${input.nowMs}: ${
|
|
381
|
+
error instanceof Error ? error.message : String(error)
|
|
382
|
+
}`,
|
|
383
|
+
);
|
|
384
|
+
await transitionWorkerToDraining(
|
|
385
|
+
ctx,
|
|
386
|
+
{
|
|
387
|
+
workerId,
|
|
388
|
+
status: "active",
|
|
389
|
+
load: 0,
|
|
390
|
+
heartbeatAt: input.nowMs,
|
|
391
|
+
lastClaimAt: null,
|
|
392
|
+
scheduledShutdownAt: input.nowMs,
|
|
393
|
+
stoppedAt: null,
|
|
394
|
+
lastSnapshotId: null,
|
|
395
|
+
assignment: null,
|
|
396
|
+
machineId: null,
|
|
397
|
+
appName: input.providerConfig.appName,
|
|
398
|
+
region: input.providerConfig.region,
|
|
399
|
+
},
|
|
400
|
+
input.providerConfig,
|
|
401
|
+
input.nowMs,
|
|
402
|
+
false,
|
|
403
|
+
);
|
|
404
|
+
await transitionWorkerToStopping(
|
|
405
|
+
ctx,
|
|
406
|
+
{
|
|
407
|
+
workerId,
|
|
408
|
+
status: "draining",
|
|
409
|
+
load: 0,
|
|
410
|
+
heartbeatAt: input.nowMs,
|
|
411
|
+
lastClaimAt: null,
|
|
412
|
+
scheduledShutdownAt: input.nowMs,
|
|
413
|
+
stoppedAt: null,
|
|
414
|
+
lastSnapshotId: null,
|
|
415
|
+
assignment: null,
|
|
416
|
+
machineId: null,
|
|
417
|
+
appName: input.providerConfig.appName,
|
|
418
|
+
region: input.providerConfig.region,
|
|
419
|
+
},
|
|
420
|
+
input.providerConfig,
|
|
421
|
+
input.nowMs,
|
|
422
|
+
false,
|
|
423
|
+
);
|
|
424
|
+
await transitionWorkerToStopped(
|
|
425
|
+
ctx,
|
|
426
|
+
{
|
|
427
|
+
workerId,
|
|
428
|
+
status: "stopping",
|
|
429
|
+
load: 0,
|
|
430
|
+
heartbeatAt: input.nowMs,
|
|
431
|
+
lastClaimAt: null,
|
|
432
|
+
scheduledShutdownAt: input.nowMs,
|
|
433
|
+
stoppedAt: input.nowMs,
|
|
434
|
+
lastSnapshotId: null,
|
|
435
|
+
assignment: null,
|
|
436
|
+
machineId: null,
|
|
437
|
+
appName: input.providerConfig.appName,
|
|
438
|
+
region: input.providerConfig.region,
|
|
439
|
+
},
|
|
440
|
+
input.providerConfig,
|
|
441
|
+
input.nowMs,
|
|
442
|
+
);
|
|
443
|
+
throw error;
|
|
444
|
+
}
|
|
366
445
|
await ctx.runMutation(internal.queue.upsertWorkerState, {
|
|
367
446
|
workerId: created.workerId,
|
|
368
447
|
provider: input.providerConfig.kind,
|
|
@@ -831,9 +910,16 @@ async function reconcileWorkersAgainstProvider(
|
|
|
831
910
|
if (machineId) {
|
|
832
911
|
const providerWorker = providerWorkersByMachineId.get(machineId);
|
|
833
912
|
if (!providerWorker || providerWorker.status !== "active") {
|
|
913
|
+
const withinGraceWindow = isWithinProviderReconcileGraceWindow(worker, input.nowMs);
|
|
914
|
+
if (withinGraceWindow && (!providerWorker || isFlyTransientState(providerWorker.rawState))) {
|
|
915
|
+
console.warn(
|
|
916
|
+
`[scheduler] provider reconcile grace workerId=${worker.workerId} machineId=${machineId} dbStatus=${worker.status} providerStatus=${providerWorker?.status ?? "missing"} rawFlyState=${providerWorker?.rawState ?? "missing"} appName=${input.providerConfig.appName} heartbeatAt=${worker.heartbeatAt} nowMs=${input.nowMs} graceMs=${PROVIDER_RECONCILE_GRACE_MS}`,
|
|
917
|
+
);
|
|
918
|
+
continue;
|
|
919
|
+
}
|
|
834
920
|
if (!isWorkerTerminal(worker.status)) {
|
|
835
921
|
console.warn(
|
|
836
|
-
`[scheduler] provider reconcile deactivating workerId=${worker.workerId} machineId=${machineId} dbStatus=${worker.status} providerStatus=${providerWorker?.status ?? "missing"} appName=${input.providerConfig.appName} scheduledShutdownAt=${worker.scheduledShutdownAt ?? "missing"} heartbeatAt=${worker.heartbeatAt} nowMs=${input.nowMs}`,
|
|
922
|
+
`[scheduler] provider reconcile deactivating workerId=${worker.workerId} machineId=${machineId} dbStatus=${worker.status} providerStatus=${providerWorker?.status ?? "missing"} rawFlyState=${providerWorker?.rawState ?? "missing"} appName=${input.providerConfig.appName} scheduledShutdownAt=${worker.scheduledShutdownAt ?? "missing"} heartbeatAt=${worker.heartbeatAt} nowMs=${input.nowMs}`,
|
|
837
923
|
);
|
|
838
924
|
if (isWorkerClaimable(worker.status)) {
|
|
839
925
|
deactivated += 1;
|
|
@@ -910,6 +996,22 @@ function warnOnMixedProviderImages(
|
|
|
910
996
|
}
|
|
911
997
|
}
|
|
912
998
|
|
|
999
|
+
function isWithinProviderReconcileGraceWindow(worker: SchedulerWorkerRow, nowMs: number) {
|
|
1000
|
+
return nowMs - worker.heartbeatAt <= PROVIDER_RECONCILE_GRACE_MS;
|
|
1001
|
+
}
|
|
1002
|
+
|
|
1003
|
+
function isFlyTransientState(rawState: string | undefined) {
|
|
1004
|
+
return new Set([
|
|
1005
|
+
"creating",
|
|
1006
|
+
"created",
|
|
1007
|
+
"starting",
|
|
1008
|
+
"started",
|
|
1009
|
+
"restarting",
|
|
1010
|
+
"updating",
|
|
1011
|
+
"replacing",
|
|
1012
|
+
]).has(rawState ?? "");
|
|
1013
|
+
}
|
|
1014
|
+
|
|
913
1015
|
function isSafeMissingMachineError(error: unknown): boolean {
|
|
914
1016
|
const message = error instanceof Error ? error.message : String(error);
|
|
915
1017
|
return /not found|unknown machine|does not exist|internal server error/i.test(message);
|