@convex-dev/workpool 0.1.0 → 0.1.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../../src/component/lib.ts"],"names":[],"mappings":"AAuBA,eAAO,MAAM,OAAO;;;;;;;;;;sDAiClB,CAAC;AAEH,eAAO,MAAM,MAAM;;iBAOjB,CAAC;AAiBH,eAAO,MAAM,QAAQ;;iBAgMnB,CAAC;AA+EH,eAAO,MAAM,gBAAgB;;;;iBAyB3B,CAAC;AAEH,eAAO,MAAM,UAAU;;;iBAiBrB,CAAC;AAEH,eAAO,MAAM,cAAc,2EAczB,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;iBAyB7B,CAAC;AAUH,eAAO,MAAM,WAAW,yEAQtB,CAAC;AAiEH,eAAO,MAAM,MAAM;;;;;;;;;;;GAuCjB,CAAC;AAEH,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAErC,eAAO,MAAM,OAAO;;iBA2BlB,CAAC"}
1
+ {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../../src/component/lib.ts"],"names":[],"mappings":"AAuBA,eAAO,MAAM,OAAO;;;;;;;;;;sDAiClB,CAAC;AAEH,eAAO,MAAM,MAAM;;iBAOjB,CAAC;AAiBH,eAAO,MAAM,QAAQ;;iBA8OnB,CAAC;AA+EH,eAAO,MAAM,gBAAgB;;;;iBAyB3B,CAAC;AAEH,eAAO,MAAM,UAAU;;;iBAiBrB,CAAC;AAEH,eAAO,MAAM,cAAc,2EAczB,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;iBAyB7B,CAAC;AAUH,eAAO,MAAM,WAAW,yEAQtB,CAAC;AAiEH,eAAO,MAAM,MAAM;;;;;;;;;;;GAuCjB,CAAC;AAEH,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAErC,eAAO,MAAM,OAAO;;iBA2BlB,CAAC"}
@@ -117,10 +117,22 @@ export const mainLoop = internalMutation({
117
117
  const inProgressBefore = (inProgressCount?.count ?? 0) + inProgressCountChange;
118
118
  console_.debug(`[mainLoop] ${inProgressBefore} in progress`);
119
119
  console_.timeEnd("[mainLoop] inProgress count");
120
- // Move from pendingWork to inProgressWork.
121
- console_.time("[mainLoop] pendingWork");
120
+ // Move from pendingStart to inProgressWork.
121
+ console_.time("[mainLoop] pendingStart");
122
+ // Start reading from the latest cursor _creationTime, which allows us to
123
+ // skip over tombstones of pendingStart documents which haven't been cleaned up yet.
124
+ // WARNING: this might skip over pendingStart documents if their _creationTime
125
+ // was assigned out of order. We handle that below.
126
+ const pendingStartCursorDoc = await ctx.db
127
+ .query("pendingStartCursor")
128
+ .unique();
129
+ const pendingStartCursor = pendingStartCursorDoc?.cursor ?? 0;
130
+ // Schedule as many as needed to reach maxParallelism.
122
131
  const toSchedule = maxParallelism - inProgressBefore;
123
- const pending = await ctx.db.query("pendingStart").take(toSchedule);
132
+ const pending = await ctx.db
133
+ .query("pendingStart")
134
+ .withIndex("by_creation_time", (q) => q.gt("_creationTime", pendingStartCursor))
135
+ .take(toSchedule);
124
136
  console_.debug(`[mainLoop] scheduling ${pending.length} pending work`);
125
137
  await Promise.all(pending.map(async (pendingWork) => {
126
138
  const { scheduledId, timeoutMs } = await beginWork(ctx, pendingWork);
@@ -133,7 +145,20 @@ export const mainLoop = internalMutation({
133
145
  await ctx.db.delete(pendingWork._id);
134
146
  didSomething = true;
135
147
  }));
136
- console_.timeEnd("[mainLoop] pendingWork");
148
+ const newPendingStartCursor = pending.length > 0
149
+ ? pending[pending.length - 1]._creationTime
150
+ : pendingStartCursor;
151
+ if (!pendingStartCursorDoc) {
152
+ await ctx.db.insert("pendingStartCursor", {
153
+ cursor: newPendingStartCursor,
154
+ });
155
+ }
156
+ else {
157
+ await ctx.db.patch(pendingStartCursorDoc._id, {
158
+ cursor: newPendingStartCursor,
159
+ });
160
+ }
161
+ console_.timeEnd("[mainLoop] pendingStart");
137
162
  console_.time("[mainLoop] pendingCancelation");
138
163
  const canceled = await ctx.db.query("pendingCancelation").take(BATCH_SIZE);
139
164
  console_.debug(`[mainLoop] canceling ${canceled.length}`);
@@ -167,6 +192,21 @@ export const mainLoop = internalMutation({
167
192
  .first();
168
193
  didSomething = nextPendingCompletion !== null;
169
194
  }
195
+ // In case there are more "pendingStart" items we missed due to out-of-order
196
+ // _creationTime, we need to check for them. Do that here, when we're
197
+ // otherwise idle so it doesn't matter if this function takes a while walking
198
+ // tombstones.
199
+ if (!didSomething && pendingStartCursorDoc) {
200
+ const pendingStartDoc = await ctx.db
201
+ .query("pendingStart")
202
+ .order("desc")
203
+ .first();
204
+ if (pendingStartDoc) {
205
+ console_.warn(`[mainLoop] missed pendingStart docs; discarding cursor`);
206
+ await ctx.db.delete(pendingStartCursorDoc._id);
207
+ didSomething = true;
208
+ }
209
+ }
170
210
  if (!didSomething) {
171
211
  console_.time("[mainLoop] inProgressWork check for unclean exits");
172
212
  // If all completions are handled, check everything in inProgressWork.
@@ -1 +1 @@
1
- {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../../src/component/lib.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../../src/component/lib.ts"],"names":[],"mappings":"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"}
@@ -144,6 +144,11 @@ declare const _default: import("convex/server").SchemaDefinition<{
144
144
  }, {
145
145
  generation: import("convex/values").VFloat64<number, "required">;
146
146
  }, "required", "generation">, {}, {}, {}>;
147
+ pendingStartCursor: import("convex/server").TableDefinition<import("convex/values").VObject<{
148
+ cursor: number;
149
+ }, {
150
+ cursor: import("convex/values").VFloat64<number, "required">;
151
+ }, "required", "cursor">, {}, {}, {}>;
147
152
  }, true>;
148
153
  export default _default;
149
154
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/component/schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAK,MAAM,eAAe,CAAC;AAGzC,eAAO,MAAM,gBAAgB,sUAK5B,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,wBA0DG"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/component/schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAK,MAAM,eAAe,CAAC;AAGzC,eAAO,MAAM,gBAAgB,sUAK5B,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,wBA8DG"}
@@ -81,5 +81,8 @@ export default defineSchema({
81
81
  completionGeneration: defineTable({
82
82
  generation: v.number(),
83
83
  }),
84
+ pendingStartCursor: defineTable({
85
+ cursor: v.number(),
86
+ }),
84
87
  });
85
88
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/component/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/component/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAS,CAAC,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CACrC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EACpB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAClB,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EACrB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CACrB,CAAC;AAGF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,eAAe,YAAY,CAAC;IAC1B,oCAAoC;IACpC,IAAI,EAAE,WAAW,CAAC;QAChB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;QAC1B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,QAAQ;KACT,CAAC;IAEF,QAAQ,EAAE,WAAW,CAAC;QACpB,KAAK,EAAE,CAAC,CAAC,KAAK,CACZ,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,EACxC,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;YAC5B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;YACrB,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,sBAAsB,CAAC;SACjC,CAAC,EACF,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CACtC;KACF,CAAC;IAEF,IAAI,EAAE,WAAW,CAAC;QAChB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC3D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;QACpB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE;KAChB,CAAC;IAEF,YAAY,EAAE,WAAW,CAAC;QACxB,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC;KACrB,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC;IAC9B,iBAAiB,EAAE,WAAW,CAAC;QAC7B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;QACtB,gBAAgB;QAChB,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC;KACrB,CAAC;SACC,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC;SAC3B,KAAK,CAAC,YAAY,EAAE,CAAC,YAAY,CAAC,CAAC;IACtC,kBAAkB,EAAE,WAAW,CAAC;QAC9B,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC;KACrB,CAAC;IAEF,cAAc,EAAE,WAAW,CAAC;QAC1B,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,sBAAsB,CAAC;QACrC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC;KACrB,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC;IAC9B,eAAe,EAAE,WAAW,CAAC;QAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;KAClB,CAAC;IAEF,aAAa,EAAE,WAAW,CAAC;QACzB,gBAAgB;QAChB,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC;KACrB,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC;IAE9B,oBAAoB,EAAE,WAAW,CAAC;QAChC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;KACvB,CAAC;IAEF,kBAAkB,EAAE,WAAW,CAAC;QAC9B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;KACnB,CAAC;CACH,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../../src/component/lib.ts"],"names":[],"mappings":"AAuBA,eAAO,MAAM,OAAO;;;;;;;;;;sDAiClB,CAAC;AAEH,eAAO,MAAM,MAAM;;iBAOjB,CAAC;AAiBH,eAAO,MAAM,QAAQ;;iBAgMnB,CAAC;AA+EH,eAAO,MAAM,gBAAgB;;;;iBAyB3B,CAAC;AAEH,eAAO,MAAM,UAAU;;;iBAiBrB,CAAC;AAEH,eAAO,MAAM,cAAc,2EAczB,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;iBAyB7B,CAAC;AAUH,eAAO,MAAM,WAAW,yEAQtB,CAAC;AAiEH,eAAO,MAAM,MAAM;;;;;;;;;;;GAuCjB,CAAC;AAEH,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAErC,eAAO,MAAM,OAAO;;iBA2BlB,CAAC"}
1
+ {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../../src/component/lib.ts"],"names":[],"mappings":"AAuBA,eAAO,MAAM,OAAO;;;;;;;;;;sDAiClB,CAAC;AAEH,eAAO,MAAM,MAAM;;iBAOjB,CAAC;AAiBH,eAAO,MAAM,QAAQ;;iBA8OnB,CAAC;AA+EH,eAAO,MAAM,gBAAgB;;;;iBAyB3B,CAAC;AAEH,eAAO,MAAM,UAAU;;;iBAiBrB,CAAC;AAEH,eAAO,MAAM,cAAc,2EAczB,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;iBAyB7B,CAAC;AAUH,eAAO,MAAM,WAAW,yEAQtB,CAAC;AAiEH,eAAO,MAAM,MAAM;;;;;;;;;;;GAuCjB,CAAC;AAEH,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAErC,eAAO,MAAM,OAAO;;iBA2BlB,CAAC"}
@@ -117,10 +117,22 @@ export const mainLoop = internalMutation({
117
117
  const inProgressBefore = (inProgressCount?.count ?? 0) + inProgressCountChange;
118
118
  console_.debug(`[mainLoop] ${inProgressBefore} in progress`);
119
119
  console_.timeEnd("[mainLoop] inProgress count");
120
- // Move from pendingWork to inProgressWork.
121
- console_.time("[mainLoop] pendingWork");
120
+ // Move from pendingStart to inProgressWork.
121
+ console_.time("[mainLoop] pendingStart");
122
+ // Start reading from the latest cursor _creationTime, which allows us to
123
+ // skip over tombstones of pendingStart documents which haven't been cleaned up yet.
124
+ // WARNING: this might skip over pendingStart documents if their _creationTime
125
+ // was assigned out of order. We handle that below.
126
+ const pendingStartCursorDoc = await ctx.db
127
+ .query("pendingStartCursor")
128
+ .unique();
129
+ const pendingStartCursor = pendingStartCursorDoc?.cursor ?? 0;
130
+ // Schedule as many as needed to reach maxParallelism.
122
131
  const toSchedule = maxParallelism - inProgressBefore;
123
- const pending = await ctx.db.query("pendingStart").take(toSchedule);
132
+ const pending = await ctx.db
133
+ .query("pendingStart")
134
+ .withIndex("by_creation_time", (q) => q.gt("_creationTime", pendingStartCursor))
135
+ .take(toSchedule);
124
136
  console_.debug(`[mainLoop] scheduling ${pending.length} pending work`);
125
137
  await Promise.all(pending.map(async (pendingWork) => {
126
138
  const { scheduledId, timeoutMs } = await beginWork(ctx, pendingWork);
@@ -133,7 +145,20 @@ export const mainLoop = internalMutation({
133
145
  await ctx.db.delete(pendingWork._id);
134
146
  didSomething = true;
135
147
  }));
136
- console_.timeEnd("[mainLoop] pendingWork");
148
+ const newPendingStartCursor = pending.length > 0
149
+ ? pending[pending.length - 1]._creationTime
150
+ : pendingStartCursor;
151
+ if (!pendingStartCursorDoc) {
152
+ await ctx.db.insert("pendingStartCursor", {
153
+ cursor: newPendingStartCursor,
154
+ });
155
+ }
156
+ else {
157
+ await ctx.db.patch(pendingStartCursorDoc._id, {
158
+ cursor: newPendingStartCursor,
159
+ });
160
+ }
161
+ console_.timeEnd("[mainLoop] pendingStart");
137
162
  console_.time("[mainLoop] pendingCancelation");
138
163
  const canceled = await ctx.db.query("pendingCancelation").take(BATCH_SIZE);
139
164
  console_.debug(`[mainLoop] canceling ${canceled.length}`);
@@ -167,6 +192,21 @@ export const mainLoop = internalMutation({
167
192
  .first();
168
193
  didSomething = nextPendingCompletion !== null;
169
194
  }
195
+ // In case there are more "pendingStart" items we missed due to out-of-order
196
+ // _creationTime, we need to check for them. Do that here, when we're
197
+ // otherwise idle so it doesn't matter if this function takes a while walking
198
+ // tombstones.
199
+ if (!didSomething && pendingStartCursorDoc) {
200
+ const pendingStartDoc = await ctx.db
201
+ .query("pendingStart")
202
+ .order("desc")
203
+ .first();
204
+ if (pendingStartDoc) {
205
+ console_.warn(`[mainLoop] missed pendingStart docs; discarding cursor`);
206
+ await ctx.db.delete(pendingStartCursorDoc._id);
207
+ didSomething = true;
208
+ }
209
+ }
170
210
  if (!didSomething) {
171
211
  console_.time("[mainLoop] inProgressWork check for unclean exits");
172
212
  // If all completions are handled, check everything in inProgressWork.
@@ -1 +1 @@
1
- {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../../src/component/lib.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../../src/component/lib.ts"],"names":[],"mappings":"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"}
@@ -144,6 +144,11 @@ declare const _default: import("convex/server").SchemaDefinition<{
144
144
  }, {
145
145
  generation: import("convex/values").VFloat64<number, "required">;
146
146
  }, "required", "generation">, {}, {}, {}>;
147
+ pendingStartCursor: import("convex/server").TableDefinition<import("convex/values").VObject<{
148
+ cursor: number;
149
+ }, {
150
+ cursor: import("convex/values").VFloat64<number, "required">;
151
+ }, "required", "cursor">, {}, {}, {}>;
147
152
  }, true>;
148
153
  export default _default;
149
154
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/component/schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAK,MAAM,eAAe,CAAC;AAGzC,eAAO,MAAM,gBAAgB,sUAK5B,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,wBA0DG"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/component/schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAK,MAAM,eAAe,CAAC;AAGzC,eAAO,MAAM,gBAAgB,sUAK5B,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,wBA8DG"}
@@ -81,5 +81,8 @@ export default defineSchema({
81
81
  completionGeneration: defineTable({
82
82
  generation: v.number(),
83
83
  }),
84
+ pendingStartCursor: defineTable({
85
+ cursor: v.number(),
86
+ }),
84
87
  });
85
88
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/component/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/component/schema.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -7,7 +7,7 @@
7
7
  "email": "support@convex.dev",
8
8
  "url": "https://github.com/get-convex/workpool/issues"
9
9
  },
10
- "version": "0.1.0",
10
+ "version": "0.1.1",
11
11
  "license": "Apache-2.0",
12
12
  "keywords": [
13
13
  "convex",
@@ -150,10 +150,27 @@ export const mainLoop = internalMutation({
150
150
  console_.debug(`[mainLoop] ${inProgressBefore} in progress`);
151
151
  console_.timeEnd("[mainLoop] inProgress count");
152
152
 
153
- // Move from pendingWork to inProgressWork.
154
- console_.time("[mainLoop] pendingWork");
153
+ // Move from pendingStart to inProgressWork.
154
+ console_.time("[mainLoop] pendingStart");
155
+
156
+ // Start reading from the latest cursor _creationTime, which allows us to
157
+ // skip over tombstones of pendingStart documents which haven't been cleaned up yet.
158
+ // WARNING: this might skip over pendingStart documents if their _creationTime
159
+ // was assigned out of order. We handle that below.
160
+ const pendingStartCursorDoc = await ctx.db
161
+ .query("pendingStartCursor")
162
+ .unique();
163
+ const pendingStartCursor = pendingStartCursorDoc?.cursor ?? 0;
164
+
165
+ // Schedule as many as needed to reach maxParallelism.
155
166
  const toSchedule = maxParallelism - inProgressBefore;
156
- const pending = await ctx.db.query("pendingStart").take(toSchedule);
167
+
168
+ const pending = await ctx.db
169
+ .query("pendingStart")
170
+ .withIndex("by_creation_time", (q) =>
171
+ q.gt("_creationTime", pendingStartCursor)
172
+ )
173
+ .take(toSchedule);
157
174
  console_.debug(`[mainLoop] scheduling ${pending.length} pending work`);
158
175
  await Promise.all(
159
176
  pending.map(async (pendingWork) => {
@@ -168,7 +185,20 @@ export const mainLoop = internalMutation({
168
185
  didSomething = true;
169
186
  })
170
187
  );
171
- console_.timeEnd("[mainLoop] pendingWork");
188
+ const newPendingStartCursor =
189
+ pending.length > 0
190
+ ? pending[pending.length - 1]._creationTime
191
+ : pendingStartCursor;
192
+ if (!pendingStartCursorDoc) {
193
+ await ctx.db.insert("pendingStartCursor", {
194
+ cursor: newPendingStartCursor,
195
+ });
196
+ } else {
197
+ await ctx.db.patch(pendingStartCursorDoc._id, {
198
+ cursor: newPendingStartCursor,
199
+ });
200
+ }
201
+ console_.timeEnd("[mainLoop] pendingStart");
172
202
 
173
203
  console_.time("[mainLoop] pendingCancelation");
174
204
  const canceled = await ctx.db.query("pendingCancelation").take(BATCH_SIZE);
@@ -207,6 +237,22 @@ export const mainLoop = internalMutation({
207
237
  didSomething = nextPendingCompletion !== null;
208
238
  }
209
239
 
240
+ // In case there are more "pendingStart" items we missed due to out-of-order
241
+ // _creationTime, we need to check for them. Do that here, when we're
242
+ // otherwise idle so it doesn't matter if this function takes a while walking
243
+ // tombstones.
244
+ if (!didSomething && pendingStartCursorDoc) {
245
+ const pendingStartDoc = await ctx.db
246
+ .query("pendingStart")
247
+ .order("desc")
248
+ .first();
249
+ if (pendingStartDoc) {
250
+ console_.warn(`[mainLoop] missed pendingStart docs; discarding cursor`);
251
+ await ctx.db.delete(pendingStartCursorDoc._id);
252
+ didSomething = true;
253
+ }
254
+ }
255
+
210
256
  if (!didSomething) {
211
257
  console_.time("[mainLoop] inProgressWork check for unclean exits");
212
258
  // If all completions are handled, check everything in inProgressWork.
@@ -100,4 +100,8 @@ export default defineSchema({
100
100
  completionGeneration: defineTable({
101
101
  generation: v.number(),
102
102
  }),
103
+
104
+ pendingStartCursor: defineTable({
105
+ cursor: v.number(),
106
+ }),
103
107
  });