@convex-dev/workpool 0.2.0-beta.0 → 0.2.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/README.md +7 -16
- package/dist/commonjs/client/index.d.ts +3 -3
- package/dist/commonjs/client/index.d.ts.map +1 -1
- package/dist/commonjs/client/index.js +10 -5
- package/dist/commonjs/client/index.js.map +1 -1
- package/dist/commonjs/component/complete.d.ts +89 -0
- package/dist/commonjs/component/complete.d.ts.map +1 -0
- package/dist/commonjs/component/complete.js +80 -0
- package/dist/commonjs/component/complete.js.map +1 -0
- package/dist/commonjs/component/kick.d.ts +1 -2
- package/dist/commonjs/component/kick.d.ts.map +1 -1
- package/dist/commonjs/component/kick.js +7 -5
- package/dist/commonjs/component/kick.js.map +1 -1
- package/dist/commonjs/component/lib.d.ts +3 -3
- package/dist/commonjs/component/lib.d.ts.map +1 -1
- package/dist/commonjs/component/lib.js +43 -20
- package/dist/commonjs/component/lib.js.map +1 -1
- package/dist/commonjs/component/logging.d.ts.map +1 -1
- package/dist/commonjs/component/logging.js +1 -2
- package/dist/commonjs/component/logging.js.map +1 -1
- package/dist/commonjs/component/loop.d.ts +1 -14
- package/dist/commonjs/component/loop.d.ts.map +1 -1
- package/dist/commonjs/component/loop.js +215 -178
- package/dist/commonjs/component/loop.js.map +1 -1
- package/dist/commonjs/component/recovery.d.ts +16 -0
- package/dist/commonjs/component/recovery.d.ts.map +1 -1
- package/dist/commonjs/component/recovery.js +64 -44
- package/dist/commonjs/component/recovery.js.map +1 -1
- package/dist/commonjs/component/schema.d.ts +6 -2
- package/dist/commonjs/component/schema.d.ts.map +1 -1
- package/dist/commonjs/component/schema.js +5 -3
- package/dist/commonjs/component/schema.js.map +1 -1
- package/dist/commonjs/component/shared.d.ts +20 -11
- package/dist/commonjs/component/shared.d.ts.map +1 -1
- package/dist/commonjs/component/shared.js +18 -5
- package/dist/commonjs/component/shared.js.map +1 -1
- package/dist/commonjs/component/stats.d.ts +21 -13
- package/dist/commonjs/component/stats.d.ts.map +1 -1
- package/dist/commonjs/component/stats.js +32 -22
- package/dist/commonjs/component/stats.js.map +1 -1
- package/dist/commonjs/component/worker.d.ts +2 -12
- package/dist/commonjs/component/worker.d.ts.map +1 -1
- package/dist/commonjs/component/worker.js +23 -36
- package/dist/commonjs/component/worker.js.map +1 -1
- package/dist/esm/client/index.d.ts +3 -3
- package/dist/esm/client/index.d.ts.map +1 -1
- package/dist/esm/client/index.js +10 -5
- package/dist/esm/client/index.js.map +1 -1
- package/dist/esm/component/complete.d.ts +89 -0
- package/dist/esm/component/complete.d.ts.map +1 -0
- package/dist/esm/component/complete.js +80 -0
- package/dist/esm/component/complete.js.map +1 -0
- package/dist/esm/component/kick.d.ts +1 -2
- package/dist/esm/component/kick.d.ts.map +1 -1
- package/dist/esm/component/kick.js +7 -5
- package/dist/esm/component/kick.js.map +1 -1
- package/dist/esm/component/lib.d.ts +3 -3
- package/dist/esm/component/lib.d.ts.map +1 -1
- package/dist/esm/component/lib.js +43 -20
- package/dist/esm/component/lib.js.map +1 -1
- package/dist/esm/component/logging.d.ts.map +1 -1
- package/dist/esm/component/logging.js +1 -2
- package/dist/esm/component/logging.js.map +1 -1
- package/dist/esm/component/loop.d.ts +1 -14
- package/dist/esm/component/loop.d.ts.map +1 -1
- package/dist/esm/component/loop.js +215 -178
- package/dist/esm/component/loop.js.map +1 -1
- package/dist/esm/component/recovery.d.ts +16 -0
- package/dist/esm/component/recovery.d.ts.map +1 -1
- package/dist/esm/component/recovery.js +64 -44
- package/dist/esm/component/recovery.js.map +1 -1
- package/dist/esm/component/schema.d.ts +6 -2
- package/dist/esm/component/schema.d.ts.map +1 -1
- package/dist/esm/component/schema.js +5 -3
- package/dist/esm/component/schema.js.map +1 -1
- package/dist/esm/component/shared.d.ts +20 -11
- package/dist/esm/component/shared.d.ts.map +1 -1
- package/dist/esm/component/shared.js +18 -5
- package/dist/esm/component/shared.js.map +1 -1
- package/dist/esm/component/stats.d.ts +21 -13
- package/dist/esm/component/stats.d.ts.map +1 -1
- package/dist/esm/component/stats.js +32 -22
- package/dist/esm/component/stats.js.map +1 -1
- package/dist/esm/component/worker.d.ts +2 -12
- package/dist/esm/component/worker.d.ts.map +1 -1
- package/dist/esm/component/worker.js +23 -36
- package/dist/esm/component/worker.js.map +1 -1
- package/package.json +7 -6
- package/src/client/index.ts +18 -8
- package/src/component/README.md +15 -15
- package/src/component/_generated/api.d.ts +7 -2
- package/src/component/complete.test.ts +508 -0
- package/src/component/complete.ts +98 -0
- package/src/component/kick.test.ts +13 -13
- package/src/component/kick.ts +13 -8
- package/src/component/lib.test.ts +262 -17
- package/src/component/lib.ts +55 -24
- package/src/component/logging.ts +1 -2
- package/src/component/loop.test.ts +1158 -0
- package/src/component/loop.ts +289 -221
- package/src/component/recovery.test.ts +541 -0
- package/src/component/recovery.ts +80 -63
- package/src/component/schema.ts +6 -4
- package/src/component/shared.ts +21 -6
- package/src/component/stats.ts +48 -25
- package/src/component/worker.ts +25 -38
|
@@ -30,12 +30,12 @@ export declare const status: import("convex/server").RegisteredQuery<"public", {
|
|
|
30
30
|
id: import("convex/values").GenericId<"work">;
|
|
31
31
|
}, Promise<{
|
|
32
32
|
readonly state: "finished";
|
|
33
|
-
readonly
|
|
33
|
+
readonly previousAttempts?: undefined;
|
|
34
34
|
} | {
|
|
35
35
|
readonly state: "pending";
|
|
36
|
-
readonly
|
|
36
|
+
readonly previousAttempts: number;
|
|
37
37
|
} | {
|
|
38
38
|
readonly state: "running";
|
|
39
|
-
readonly
|
|
39
|
+
readonly previousAttempts: number;
|
|
40
40
|
}>>;
|
|
41
41
|
//# sourceMappingURL=lib.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../../src/component/lib.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../../src/component/lib.ts"],"names":[],"mappings":"AAqBA,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;sDAkClB,CAAC;AAEH,eAAO,MAAM,MAAM;;;iBAYjB,CAAC;AAGH,eAAO,MAAM,SAAS;;;iBAyBpB,CAAC;AAEH,eAAO,MAAM,MAAM;;;;;;;;;;;GAyBjB,CAAC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { v } from "convex/values";
|
|
2
2
|
import { mutation, query } from "./_generated/server.js";
|
|
3
|
-
import { nextSegment, onComplete, retryBehavior, config, status as statusValidator, toSegment, boundScheduledTime, } from "./shared.js";
|
|
3
|
+
import { nextSegment, onComplete, retryBehavior, config, status as statusValidator, toSegment, boundScheduledTime, max, } from "./shared.js";
|
|
4
4
|
import { logLevel } from "./logging.js";
|
|
5
5
|
import { kickMainLoop } from "./kick.js";
|
|
6
6
|
import { api } from "./_generated/api.js";
|
|
7
7
|
import { createLogger } from "./logging.js";
|
|
8
|
+
import { recordEnqueued } from "./stats.js";
|
|
8
9
|
const MAX_POSSIBLE_PARALLELISM = 100;
|
|
9
10
|
export const enqueue = mutation({
|
|
10
11
|
args: {
|
|
@@ -34,10 +35,10 @@ export const enqueue = mutation({
|
|
|
34
35
|
});
|
|
35
36
|
await ctx.db.insert("pendingStart", {
|
|
36
37
|
workId,
|
|
37
|
-
segment: toSegment(runAt),
|
|
38
|
+
segment: max(toSegment(runAt), nextSegment()),
|
|
38
39
|
});
|
|
39
40
|
await kickMainLoop(ctx, "enqueue", config);
|
|
40
|
-
|
|
41
|
+
recordEnqueued(console, { workId, fnName: workArgs.fnName, runAt });
|
|
41
42
|
return workId;
|
|
42
43
|
},
|
|
43
44
|
});
|
|
@@ -47,11 +48,10 @@ export const cancel = mutation({
|
|
|
47
48
|
logLevel,
|
|
48
49
|
},
|
|
49
50
|
handler: async (ctx, { id, logLevel }) => {
|
|
50
|
-
await ctx
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
}
|
|
54
|
-
await kickMainLoop(ctx, "cancel", { logLevel });
|
|
51
|
+
const canceled = await cancelWorkItem(ctx, id, nextSegment(), logLevel);
|
|
52
|
+
if (canceled) {
|
|
53
|
+
await kickMainLoop(ctx, "cancel", { logLevel });
|
|
54
|
+
}
|
|
55
55
|
// TODO: stats event
|
|
56
56
|
},
|
|
57
57
|
});
|
|
@@ -66,22 +66,16 @@ export const cancelAll = mutation({
|
|
|
66
66
|
.withIndex("by_creation_time", (q) => q.lte("_creationTime", beforeTime))
|
|
67
67
|
.order("desc")
|
|
68
68
|
.take(PAGE_SIZE);
|
|
69
|
-
await Promise.all(pageOfWork.map(async ({ _id }) =>
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
.first()) {
|
|
74
|
-
return;
|
|
75
|
-
}
|
|
76
|
-
await ctx.db.insert("pendingCancelation", { workId: _id, segment });
|
|
77
|
-
}));
|
|
69
|
+
const canceled = await Promise.all(pageOfWork.map(async ({ _id }) => cancelWorkItem(ctx, _id, segment, logLevel)));
|
|
70
|
+
if (canceled.some((c) => c)) {
|
|
71
|
+
await kickMainLoop(ctx, "cancel", { logLevel });
|
|
72
|
+
}
|
|
78
73
|
if (pageOfWork.length === PAGE_SIZE) {
|
|
79
74
|
await ctx.scheduler.runAfter(0, api.lib.cancelAll, {
|
|
80
75
|
logLevel,
|
|
81
76
|
before: pageOfWork[pageOfWork.length - 1]._creationTime,
|
|
82
77
|
});
|
|
83
78
|
}
|
|
84
|
-
await kickMainLoop(ctx, "cancel", { logLevel });
|
|
85
79
|
},
|
|
86
80
|
});
|
|
87
81
|
export const status = query({
|
|
@@ -97,12 +91,41 @@ export const status = query({
|
|
|
97
91
|
.withIndex("workId", (q) => q.eq("workId", id))
|
|
98
92
|
.unique();
|
|
99
93
|
if (pendingStart) {
|
|
100
|
-
return { state: "pending",
|
|
94
|
+
return { state: "pending", previousAttempts: work.attempts };
|
|
95
|
+
}
|
|
96
|
+
const pendingCompletion = await ctx.db
|
|
97
|
+
.query("pendingCompletion")
|
|
98
|
+
.withIndex("workId", (q) => q.eq("workId", id))
|
|
99
|
+
.unique();
|
|
100
|
+
if (pendingCompletion?.retry) {
|
|
101
|
+
return { state: "pending", previousAttempts: work.attempts };
|
|
101
102
|
}
|
|
102
103
|
// Assume it's in progress. It could be pending cancelation
|
|
103
|
-
return { state: "running",
|
|
104
|
+
return { state: "running", previousAttempts: work.attempts };
|
|
104
105
|
},
|
|
105
106
|
});
|
|
107
|
+
async function cancelWorkItem(ctx, workId, segment, logLevel) {
|
|
108
|
+
const console = createLogger(logLevel);
|
|
109
|
+
// No-op if the work doesn't exist or has completed.
|
|
110
|
+
const work = await ctx.db.get(workId);
|
|
111
|
+
if (!work) {
|
|
112
|
+
console.warn(`[cancel] work ${workId} doesn't exist`);
|
|
113
|
+
return false;
|
|
114
|
+
}
|
|
115
|
+
const pendingCancelation = await ctx.db
|
|
116
|
+
.query("pendingCancelation")
|
|
117
|
+
.withIndex("workId", (q) => q.eq("workId", workId))
|
|
118
|
+
.unique();
|
|
119
|
+
if (pendingCancelation) {
|
|
120
|
+
console.warn(`[cancel] work ${workId} has already been canceled`);
|
|
121
|
+
return false;
|
|
122
|
+
}
|
|
123
|
+
await ctx.db.insert("pendingCancelation", {
|
|
124
|
+
workId,
|
|
125
|
+
segment,
|
|
126
|
+
});
|
|
127
|
+
return true;
|
|
128
|
+
}
|
|
106
129
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
107
130
|
const console = "THIS IS A REMINDER TO USE createLogger";
|
|
108
131
|
//# sourceMappingURL=lib.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../../src/component/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAClC,OAAO,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../../src/component/lib.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../../src/component/logging.ts"],"names":[],"mappings":"AAAA,OAAO,EAAK,KAAK,EAAE,MAAM,eAAe,CAAC;AAEzC,eAAO,MAAM,iBAAiB,EAAE,QAAiB,CAAC;AAElD,MAAM,MAAM,MAAM,GAAG;IACnB,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACpC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACnC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACnC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACpC,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CAClE,CAAC;AAEF,wBAAgB,YAAY,CAAC,KAAK,CAAC,EAAE,QAAQ,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../../src/component/logging.ts"],"names":[],"mappings":"AAAA,OAAO,EAAK,KAAK,EAAE,MAAM,eAAe,CAAC;AAEzC,eAAO,MAAM,iBAAiB,EAAE,QAAiB,CAAC;AAElD,MAAM,MAAM,MAAM,GAAG;IACnB,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACpC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACnC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACnC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACpC,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CAClE,CAAC;AAEF,wBAAgB,YAAY,CAAC,KAAK,CAAC,EAAE,QAAQ,GAAG,MAAM,CAgDrD;AACD,eAAO,MAAM,QAAQ,oTAKpB,CAAC;AACF,MAAM,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC"}
|
|
@@ -39,9 +39,8 @@ export function createLogger(level) {
|
|
|
39
39
|
event: (event, payload) => {
|
|
40
40
|
if (levelIndex <= 1) {
|
|
41
41
|
const fullPayload = {
|
|
42
|
-
system: "idempotent-workpool-component",
|
|
43
42
|
event,
|
|
44
|
-
payload,
|
|
43
|
+
...payload,
|
|
45
44
|
};
|
|
46
45
|
console.info(JSON.stringify(fullPayload));
|
|
47
46
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logging.js","sourceRoot":"","sources":["../../../src/component/logging.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAS,MAAM,eAAe,CAAC;AAEzC,MAAM,CAAC,MAAM,iBAAiB,GAAa,MAAM,CAAC;AAYlD,MAAM,UAAU,YAAY,CAAC,KAAgB;IAC3C,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,OAAO,CAC3D,KAAK,IAAI,iBAAiB,CAC3B,CAAC;IACF,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,EAAE,CAAC,CAAC;KAChD;IACD,OAAO;QACL,KAAK,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;YAC5B,IAAI,UAAU,IAAI,CAAC,EAAE;gBACnB,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;aACxB;QACH,CAAC;QACD,IAAI,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;YAC3B,IAAI,UAAU,IAAI,CAAC,EAAE;gBACnB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;aACvB;QACH,CAAC;QACD,IAAI,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;YAC3B,IAAI,UAAU,IAAI,CAAC,EAAE;gBACnB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;aACvB;QACH,CAAC;QACD,KAAK,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;YAC5B,IAAI,UAAU,IAAI,CAAC,EAAE;gBACnB,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;aACxB;QACH,CAAC;QACD,IAAI,EAAE,CAAC,KAAa,EAAE,EAAE;YACtB,IAAI,UAAU,IAAI,CAAC,EAAE;gBACnB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACrB;QACH,CAAC;QACD,OAAO,EAAE,CAAC,KAAa,EAAE,EAAE;YACzB,IAAI,UAAU,IAAI,CAAC,EAAE;gBACnB,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;aACxB;QACH,CAAC;QACD,KAAK,EAAE,CAAC,KAAa,EAAE,OAAgC,EAAE,EAAE;YACzD,IAAI,UAAU,IAAI,CAAC,EAAE;gBACnB,MAAM,WAAW,GAAG;oBAClB,
|
|
1
|
+
{"version":3,"file":"logging.js","sourceRoot":"","sources":["../../../src/component/logging.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAS,MAAM,eAAe,CAAC;AAEzC,MAAM,CAAC,MAAM,iBAAiB,GAAa,MAAM,CAAC;AAYlD,MAAM,UAAU,YAAY,CAAC,KAAgB;IAC3C,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,OAAO,CAC3D,KAAK,IAAI,iBAAiB,CAC3B,CAAC;IACF,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,EAAE,CAAC,CAAC;KAChD;IACD,OAAO;QACL,KAAK,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;YAC5B,IAAI,UAAU,IAAI,CAAC,EAAE;gBACnB,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;aACxB;QACH,CAAC;QACD,IAAI,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;YAC3B,IAAI,UAAU,IAAI,CAAC,EAAE;gBACnB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;aACvB;QACH,CAAC;QACD,IAAI,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;YAC3B,IAAI,UAAU,IAAI,CAAC,EAAE;gBACnB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;aACvB;QACH,CAAC;QACD,KAAK,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;YAC5B,IAAI,UAAU,IAAI,CAAC,EAAE;gBACnB,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;aACxB;QACH,CAAC;QACD,IAAI,EAAE,CAAC,KAAa,EAAE,EAAE;YACtB,IAAI,UAAU,IAAI,CAAC,EAAE;gBACnB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACrB;QACH,CAAC;QACD,OAAO,EAAE,CAAC,KAAa,EAAE,EAAE;YACzB,IAAI,UAAU,IAAI,CAAC,EAAE;gBACnB,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;aACxB;QACH,CAAC;QACD,KAAK,EAAE,CAAC,KAAa,EAAE,OAAgC,EAAE,EAAE;YACzD,IAAI,UAAU,IAAI,CAAC,EAAE;gBACnB,MAAM,WAAW,GAAG;oBAClB,KAAK;oBACL,GAAG,OAAO;iBACX,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;aAC3C;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AACD,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAC7B,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAClB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EACjB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EACjB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CACnB,CAAC"}
|
|
@@ -5,22 +5,9 @@ export declare const main: import("convex/server").RegisteredMutation<"internal"
|
|
|
5
5
|
generation: bigint;
|
|
6
6
|
segment: bigint;
|
|
7
7
|
}, Promise<void>>;
|
|
8
|
-
export declare const complete: import("convex/server").RegisteredMutation<"internal", {
|
|
9
|
-
done: {
|
|
10
|
-
workId: import("convex/values").GenericId<"work">;
|
|
11
|
-
runResult: {
|
|
12
|
-
kind: "success";
|
|
13
|
-
returnValue: any;
|
|
14
|
-
} | {
|
|
15
|
-
kind: "failed";
|
|
16
|
-
error: string;
|
|
17
|
-
} | {
|
|
18
|
-
kind: "canceled";
|
|
19
|
-
};
|
|
20
|
-
}[];
|
|
21
|
-
}, Promise<void>>;
|
|
22
8
|
export declare const updateRunStatus: import("convex/server").RegisteredMutation<"internal", {
|
|
23
9
|
generation: bigint;
|
|
10
|
+
segment: bigint;
|
|
24
11
|
}, Promise<void>>;
|
|
25
12
|
export declare function withJitter(delay: number): number;
|
|
26
13
|
//# sourceMappingURL=loop.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../../src/component/loop.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../../src/component/loop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAGpD,OAAO,EAAE,GAAG,EAAM,MAAM,2BAA2B,CAAC;AA4BpD,eAAO,MAAM,aAAa,EAAE,mBAAmB,CAAC,GAAG,CAAC,eAAe,CAAC,CAanE,CAAC;AAGF,eAAO,MAAM,IAAI;;;iBAyEf,CAAC;AAEH,eAAO,MAAM,eAAe;;;iBA6H1B,CAAC;AA0WH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,UAEvC"}
|