@convex-dev/workpool 0.2.18-alpha.3 → 0.2.19-alpha.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.
@@ -36,8 +36,7 @@ export class Workpool {
36
36
  * `./_generated/api.ts`.
37
37
  * @param options - The {@link WorkpoolOptions} for the Workpool.
38
38
  */
39
- constructor(component, // UseApi<api> for jump to definition
40
- options) {
39
+ constructor(component, options) {
41
40
  this.component = component;
42
41
  this.options = options;
43
42
  }
@@ -53,21 +52,31 @@ export class Workpool {
53
52
  */
54
53
  async enqueueAction(ctx, fn, fnArgs, options) {
55
54
  const retryBehavior = getRetryBehavior(this.options.defaultRetryBehavior, this.options.retryActionsByDefault, options?.retry);
56
- const onComplete = options?.onComplete
57
- ? {
58
- fnHandle: await createFunctionHandle(options.onComplete),
59
- context: options.context,
60
- }
61
- : undefined;
62
- const id = await ctx.runMutation(this.component.lib.enqueue, {
63
- ...(await defaultEnqueueArgs(fn, options?.name, this.options)),
64
- fnArgs,
65
- fnType: "action",
66
- runAt: getRunAt(options),
67
- onComplete,
55
+ return enqueue(this.component, ctx, "action", fn, fnArgs, {
68
56
  retryBehavior,
57
+ ...this.options,
58
+ ...options,
59
+ });
60
+ }
61
+ /**
62
+ * Enqueues a batch of actions to be run.
63
+ * Each action will be run independently, and the onComplete handler will
64
+ * be called for each action.
65
+ *
66
+ * @param ctx - The mutation or action ctx that can call ctx.runMutation.
67
+ * @param fn - The action to run, like `internal.example.myAction`.
68
+ * @param argsArray - The arguments to pass to the action.
69
+ * @param options - The options for the actions to specify retry behavior,
70
+ * onComplete handling, and scheduling via `runAt` or `runAfter`.
71
+ * @returns The IDs of the work that was enqueued.
72
+ */
73
+ async enqueueActionBatch(ctx, fn, argsArray, options) {
74
+ const retryBehavior = getRetryBehavior(this.options.defaultRetryBehavior, this.options.retryActionsByDefault, options?.retry);
75
+ return enqueueBatch(this.component, ctx, "action", fn, argsArray, {
76
+ retryBehavior,
77
+ ...this.options,
78
+ ...options,
69
79
  });
70
- return id;
71
80
  }
72
81
  /**
73
82
  * Enqueues a mutation to be run.
@@ -83,36 +92,62 @@ export class Workpool {
83
92
  * and scheduling via `runAt` or `runAfter`.
84
93
  */
85
94
  async enqueueMutation(ctx, fn, fnArgs, options) {
86
- const onComplete = options?.onComplete
87
- ? {
88
- fnHandle: await createFunctionHandle(options.onComplete),
89
- context: options.context,
90
- }
91
- : undefined;
92
- const id = await ctx.runMutation(this.component.lib.enqueue, {
93
- ...(await defaultEnqueueArgs(fn, options?.name, this.options)),
94
- fnArgs,
95
- fnType: "mutation",
96
- runAt: getRunAt(options),
97
- onComplete,
95
+ return enqueue(this.component, ctx, "mutation", fn, fnArgs, {
96
+ ...this.options,
97
+ ...options,
98
98
  });
99
- return id;
100
99
  }
100
+ /**
101
+ * Enqueues a batch of mutations to be run.
102
+ * Each mutation will be run independently, and the onComplete handler will
103
+ * be called for each mutation.
104
+ *
105
+ * @param ctx - The mutation or action context that can call ctx.runMutation.
106
+ * @param fn - The mutation to run, like `internal.example.myMutation`.
107
+ * @param argsArray - The arguments to pass to the mutations.
108
+ * @param options - The options for the mutations to specify onComplete handling
109
+ * and scheduling via `runAt` or `runAfter`.
110
+ */
111
+ async enqueueMutationBatch(ctx, fn, argsArray, options) {
112
+ return enqueueBatch(this.component, ctx, "mutation", fn, argsArray, {
113
+ ...this.options,
114
+ ...options,
115
+ });
116
+ }
117
+ /**
118
+ * Enqueues a query to be run.
119
+ * Usually not what you want, but it can be useful during workflows.
120
+ * The query is run in a mutation and the result is returned to the caller,
121
+ * so it can conflict if other mutations are writing the value.
122
+ *
123
+ * @param ctx - The mutation or action context that can call ctx.runMutation.
124
+ * @param fn - The query to run, like `internal.example.myQuery`.
125
+ * @param fnArgs - The arguments to pass to the query.
126
+ * @param options - The options for the query to specify onComplete handling
127
+ * and scheduling via `runAt` or `runAfter`.
128
+ */
101
129
  async enqueueQuery(ctx, fn, fnArgs, options) {
102
- const onComplete = options?.onComplete
103
- ? {
104
- fnHandle: await createFunctionHandle(options.onComplete),
105
- context: options.context,
106
- }
107
- : undefined;
108
- const id = await ctx.runMutation(this.component.lib.enqueue, {
109
- ...(await defaultEnqueueArgs(fn, options?.name, this.options)),
110
- fnArgs,
111
- fnType: "query",
112
- runAt: getRunAt(options),
113
- onComplete,
130
+ return enqueue(this.component, ctx, "query", fn, fnArgs, {
131
+ ...this.options,
132
+ ...options,
133
+ });
134
+ }
135
+ /**
136
+ * Enqueues a batch of queries to be run.
137
+ * Each query will be run independently, and the onComplete handler will
138
+ * be called for each query.
139
+ *
140
+ * @param ctx - The mutation or action context that can call ctx.runMutation.
141
+ * @param fn - The query to run, like `internal.example.myQuery`.
142
+ * @param argsArray - The arguments to pass to the queries.
143
+ * @param options - The options for the queries to specify onComplete handling
144
+ * and scheduling via `runAt` or `runAfter`.
145
+ */
146
+ async enqueueQueryBatch(ctx, fn, argsArray, options) {
147
+ return enqueueBatch(this.component, ctx, "query", fn, argsArray, {
148
+ ...this.options,
149
+ ...options,
114
150
  });
115
- return id;
116
151
  }
117
152
  /**
118
153
  * Cancels a work item. If it's already started, it will be allowed to finish
@@ -132,9 +167,10 @@ export class Workpool {
132
167
  *
133
168
  * @param ctx - The mutation or action context that can call ctx.runMutation.
134
169
  */
135
- async cancelAll(ctx) {
170
+ async cancelAll(ctx, options) {
136
171
  await ctx.runMutation(this.component.lib.cancelAll, {
137
172
  logLevel: this.options.logLevel ?? DEFAULT_LOG_LEVEL,
173
+ ...options,
138
174
  });
139
175
  }
140
176
  /**
@@ -150,6 +186,16 @@ export class Workpool {
150
186
  async status(ctx, id) {
151
187
  return ctx.runQuery(this.component.lib.status, { id });
152
188
  }
189
+ /**
190
+ * Gets the status of a batch of work items.
191
+ *
192
+ * @param ctx - The query context that can call ctx.runQuery.
193
+ * @param ids - The IDs of the work to get the status of.
194
+ * @returns The status of the work items.
195
+ */
196
+ async statusBatch(ctx, ids) {
197
+ return ctx.runQuery(this.component.lib.statusBatch, { ids });
198
+ }
153
199
  /**
154
200
  * Defines a mutation that will be run after a work item completes.
155
201
  * You can pass this to a call to enqueue* like so:
@@ -214,16 +260,25 @@ function getRetryBehavior(defaultRetryBehavior, retryActionsByDefault, retryOver
214
260
  }
215
261
  return retryOverride ?? (retryByDefault ? defaultRetry : undefined);
216
262
  }
217
- async function defaultEnqueueArgs(fn, name, { logLevel, maxParallelism }) {
263
+ async function enqueueArgs(fn, opts) {
218
264
  const [fnHandle, fnName] = typeof fn === "string" && fn.startsWith("function://")
219
- ? [fn, name ?? fn]
220
- : [await createFunctionHandle(fn), name ?? safeFunctionName(fn)];
265
+ ? [fn, opts?.name ?? fn]
266
+ : [await createFunctionHandle(fn), opts?.name ?? safeFunctionName(fn)];
267
+ const onComplete = opts?.onComplete
268
+ ? {
269
+ fnHandle: await createFunctionHandle(opts.onComplete),
270
+ context: opts.context,
271
+ }
272
+ : undefined;
221
273
  return {
222
274
  fnHandle,
223
275
  fnName,
276
+ onComplete,
277
+ runAt: getRunAt(opts),
278
+ retryBehavior: opts?.retryBehavior,
224
279
  config: {
225
- logLevel: logLevel ?? DEFAULT_LOG_LEVEL,
226
- maxParallelism: maxParallelism ?? DEFAULT_MAX_PARALLELISM,
280
+ logLevel: opts?.logLevel ?? DEFAULT_LOG_LEVEL,
281
+ maxParallelism: opts?.maxParallelism ?? DEFAULT_MAX_PARALLELISM,
227
282
  },
228
283
  };
229
284
  }
@@ -231,12 +286,32 @@ function getRunAt(options) {
231
286
  if (!options) {
232
287
  return Date.now();
233
288
  }
234
- if ("runAt" in options && options.runAt !== undefined) {
289
+ if (options.runAt !== undefined) {
235
290
  return options.runAt;
236
291
  }
237
- if ("runAfter" in options && options.runAfter !== undefined) {
292
+ if (options.runAfter !== undefined) {
238
293
  return Date.now() + options.runAfter;
239
294
  }
240
295
  return Date.now();
241
296
  }
297
+ export async function enqueueBatch(component, ctx, fnType, fn, fnArgsArray, options) {
298
+ const { config, ...defaults } = await enqueueArgs(fn, options);
299
+ const ids = await ctx.runMutation(component.lib.enqueueBatch, {
300
+ items: fnArgsArray.map((fnArgs) => ({
301
+ ...defaults,
302
+ fnArgs,
303
+ fnType,
304
+ })),
305
+ config,
306
+ });
307
+ return ids;
308
+ }
309
+ export async function enqueue(component, ctx, fnType, fn, fnArgs, options) {
310
+ const id = await ctx.runMutation(component.lib.enqueue, {
311
+ ...(await enqueueArgs(fn, options)),
312
+ fnArgs,
313
+ fnType,
314
+ });
315
+ return id;
316
+ }
242
317
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EAQpB,uBAAuB,GAExB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAS,CAAC,EAA4B,MAAM,eAAe,CAAC;AAEnE,OAAO,EAAE,iBAAiB,EAAiB,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAEL,uBAAuB,EAEvB,gBAAgB,GAKjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAGL,gBAAgB,GAEjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,gBAAgB,EAAsC,CAAC;AAChE,OAAO,EAAE,aAAa,IAAI,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,QAAQ,IAAI,SAAS,EAAiB,MAAM,yBAAyB,CAAC;AAE/E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,EAAqB,CAAC;AAC9D,OAAO;AACL,kDAAkD;AAClD,gBAAgB,IAAI,eAAe;AACnC,kDAAkD;AAClD,gBAAgB,IAAI,eAAe,GACpC,CAAC;AACF,iEAAiE;AACjE,MAAM,CAAC,MAAM,WAAW,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;AACpD,mDAAmD;AACnD,MAAM,CAAC,MAAM,oBAAoB,GAAG,eAAe,CAAC;AAEpD,8DAA8D;AAC9D,MAAM,CAAC,MAAM,sBAAsB,GAAkB;IACnD,WAAW,EAAE,CAAC;IACd,gBAAgB,EAAE,GAAG;IACrB,IAAI,EAAE,CAAC;CACR,CAAC;AAEF,MAAM,OAAO,QAAQ;IAaT;IACD;IAbT;;;;;;;;;;OAUG;IACH,YACU,SAAyB,EAAE,qCAAqC;IACjE,OAAwB;QADvB,cAAS,GAAT,SAAS,CAAgB;QAC1B,YAAO,GAAP,OAAO,CAAiB;IAC9B,CAAC;IACJ;;;;;;;;;OASG;IACH,KAAK,CAAC,aAAa,CACjB,GAAmB,EACnB,EAAqE,EACrE,MAAY,EACZ,OAAuE;QAEvE,MAAM,aAAa,GAAG,gBAAgB,CACpC,IAAI,CAAC,OAAO,CAAC,oBAAoB,EACjC,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAClC,OAAO,EAAE,KAAK,CACf,CAAC;QACF,MAAM,UAAU,GAA2B,OAAO,EAAE,UAAU;YAC5D,CAAC,CAAC;gBACE,QAAQ,EAAE,MAAM,oBAAoB,CAAC,OAAO,CAAC,UAAU,CAAC;gBACxD,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB;YACH,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE;YAC3D,GAAG,CAAC,MAAM,kBAAkB,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC9D,MAAM;YACN,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC;YACxB,UAAU;YACV,aAAa;SACd,CAAC,CAAC;QACH,OAAO,EAAY,CAAC;IACtB,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,eAAe,CACnB,GAAmB,EACnB,EAAuE,EACvE,MAAY,EACZ,OAAyD;QAEzD,MAAM,UAAU,GAA2B,OAAO,EAAE,UAAU;YAC5D,CAAC,CAAC;gBACE,QAAQ,EAAE,MAAM,oBAAoB,CAAC,OAAO,CAAC,UAAU,CAAC;gBACxD,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB;YACH,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE;YAC3D,GAAG,CAAC,MAAM,kBAAkB,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC9D,MAAM;YACN,MAAM,EAAE,UAAU;YAClB,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC;YACxB,UAAU;SACX,CAAC,CAAC;QACH,OAAO,EAAY,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,GAAmB,EACnB,EAAoE,EACpE,MAAY,EACZ,OAAyD;QAEzD,MAAM,UAAU,GAA2B,OAAO,EAAE,UAAU;YAC5D,CAAC,CAAC;gBACE,QAAQ,EAAE,MAAM,oBAAoB,CAAC,OAAO,CAAC,UAAU,CAAC;gBACxD,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB;YACH,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE;YAC3D,GAAG,CAAC,MAAM,kBAAkB,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC9D,MAAM;YACN,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC;YACxB,UAAU;SACX,CAAC,CAAC;QACH,OAAO,EAAY,CAAC;IACtB,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CAAC,GAAmB,EAAE,EAAU;QAC1C,MAAM,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE;YAC/C,EAAE;YACF,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,iBAAiB;SACrD,CAAC,CAAC;IACL,CAAC;IACD;;;;OAIG;IACH,KAAK,CAAC,SAAS,CAAC,GAAmB;QACjC,MAAM,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE;YAClD,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,iBAAiB;SACrD,CAAC,CAAC;IACL,CAAC;IACD;;;;;;;;;OASG;IACH,KAAK,CAAC,MAAM,CAAC,GAAgB,EAAE,EAAU;QACvC,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,gBAAgB,CAId,EACA,OAAO,EACP,OAAO,GAWR;QACC,OAAO,uBAAuB,CAAC;YAC7B,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC;YAC9B,OAAO;SACR,CAAC,CAAC;IACL,CAAC;CACF;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,eAAe,CAG7B,OAAW;IACX,OAAO,CAAC,CAAC,MAAM,CAAC;QACd,MAAM,EAAE,gBAAgB;QACxB,OAAO,EAAE,CAAC,OAAO,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAM;QAC9C,MAAM,EAAE,gBAAgB;KACzB,CAAC,CAAC;AACL,CAAC;AAuHD,uDAAuD;AACvD,MAAM,CAAC,GAAG,EAAmD,CAAC;AAC9D,MAAM,EAAE,GAAG,EAEV,CAAC;AAEF,EAAE;AACF,mBAAmB;AACnB,EAAE;AAEF,SAAS,gBAAgB,CACvB,oBAA+C,EAC/C,qBAA0C,EAC1C,aAAkD;IAElD,MAAM,YAAY,GAAG,oBAAoB,IAAI,sBAAsB,CAAC;IACpE,MAAM,cAAc,GAAG,qBAAqB,IAAI,KAAK,CAAC;IACtD,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;QAC3B,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,IAAI,aAAa,KAAK,KAAK,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,aAAa,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AACtE,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,EAEqD,EACrD,IAAwB,EACxB,EAAE,QAAQ,EAAE,cAAc,EAAmB;IAE7C,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,GACtB,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC;QACpD,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC,MAAM,oBAAoB,CAAC,EAAE,CAAC,EAAE,IAAI,IAAI,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC;IACrE,OAAO;QACL,QAAQ;QACR,MAAM;QACN,MAAM,EAAE;YACN,QAAQ,EAAE,QAAQ,IAAI,iBAAiB;YACvC,cAAc,EAAE,cAAc,IAAI,uBAAuB;SAC1D;KACF,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,OAA0B;IAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;IACpB,CAAC;IACD,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACtD,OAAO,OAAO,CAAC,KAAK,CAAC;IACvB,CAAC;IACD,IAAI,UAAU,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;IACvC,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EAQpB,uBAAuB,GAExB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAS,CAAC,EAA4B,MAAM,eAAe,CAAC;AAEnE,OAAO,EAAE,iBAAiB,EAAiB,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAEL,uBAAuB,EAEvB,gBAAgB,GAKjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAGL,gBAAgB,GAEjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,gBAAgB,EAAsC,CAAC;AAChE,OAAO,EAAE,aAAa,IAAI,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,QAAQ,IAAI,SAAS,EAAiB,MAAM,yBAAyB,CAAC;AAE/E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,EAAqB,CAAC;AAC9D,OAAO;AACL,kDAAkD;AAClD,gBAAgB,IAAI,eAAe;AACnC,kDAAkD;AAClD,gBAAgB,IAAI,eAAe,GACpC,CAAC;AACF,iEAAiE;AACjE,MAAM,CAAC,MAAM,WAAW,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;AACpD,mDAAmD;AACnD,MAAM,CAAC,MAAM,oBAAoB,GAAG,eAAe,CAAC;AAEpD,8DAA8D;AAC9D,MAAM,CAAC,MAAM,sBAAsB,GAAkB;IACnD,WAAW,EAAE,CAAC;IACd,gBAAgB,EAAE,GAAG;IACrB,IAAI,EAAE,CAAC;CACR,CAAC;AAKF,MAAM,OAAO,QAAQ;IAaV;IACA;IAbT;;;;;;;;;;OAUG;IACH,YACS,SAA4B,EAC5B,OAAwB;QADxB,cAAS,GAAT,SAAS,CAAmB;QAC5B,YAAO,GAAP,OAAO,CAAiB;IAC9B,CAAC;IAEJ;;;;;;;;;OASG;IACH,KAAK,CAAC,aAAa,CACjB,GAAmB,EACnB,EAAqE,EACrE,MAAY,EACZ,OAAsC;QAEtC,MAAM,aAAa,GAAG,gBAAgB,CACpC,IAAI,CAAC,OAAO,CAAC,oBAAoB,EACjC,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAClC,OAAO,EAAE,KAAK,CACf,CAAC;QACF,OAAO,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE;YACxD,aAAa;YACb,GAAG,IAAI,CAAC,OAAO;YACf,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,kBAAkB,CACtB,GAAmB,EACnB,EAAqE,EACrE,SAAsB,EACtB,OAAsC;QAEtC,MAAM,aAAa,GAAG,gBAAgB,CACpC,IAAI,CAAC,OAAO,CAAC,oBAAoB,EACjC,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAClC,OAAO,EAAE,KAAK,CACf,CAAC;QACF,OAAO,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE;YAChE,aAAa;YACb,GAAG,IAAI,CAAC,OAAO;YACf,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,eAAe,CACnB,GAAmB,EACnB,EAAuE,EACvE,MAAY,EACZ,OAAwB;QAExB,OAAO,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE;YAC1D,GAAG,IAAI,CAAC,OAAO;YACf,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IACD;;;;;;;;;;OAUG;IACH,KAAK,CAAC,oBAAoB,CACxB,GAAmB,EACnB,EAAuE,EACvE,SAAsB,EACtB,OAAwB;QAExB,OAAO,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE;YAClE,GAAG,IAAI,CAAC,OAAO;YACf,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,YAAY,CAChB,GAAmB,EACnB,EAAoE,EACpE,MAAY,EACZ,OAAwB;QAExB,OAAO,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE;YACvD,GAAG,IAAI,CAAC,OAAO;YACf,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,iBAAiB,CACrB,GAAmB,EACnB,EAAoE,EACpE,SAAsB,EACtB,OAAwB;QAExB,OAAO,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE;YAC/D,GAAG,IAAI,CAAC,OAAO;YACf,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CAAC,GAAmB,EAAE,EAAU;QAC1C,MAAM,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE;YAC/C,EAAE;YACF,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,iBAAiB;SACrD,CAAC,CAAC;IACL,CAAC;IACD;;;;OAIG;IACH,KAAK,CAAC,SAAS,CACb,GAAmB,EACnB,OAA4B;QAE5B,MAAM,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE;YAClD,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,iBAAiB;YACpD,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IACD;;;;;;;;;OASG;IACH,KAAK,CAAC,MAAM,CAAC,GAAgB,EAAE,EAAU;QACvC,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,WAAW,CAAC,GAAgB,EAAE,GAAa;QAC/C,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,gBAAgB,CAId,EACA,OAAO,EACP,OAAO,GAWR;QACC,OAAO,uBAAuB,CAAC;YAC7B,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC;YAC9B,OAAO;SACR,CAAC,CAAC;IACL,CAAC;CACF;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,eAAe,CAG7B,OAAW;IACX,OAAO,CAAC,CAAC,MAAM,CAAC;QACd,MAAM,EAAE,gBAAgB;QACxB,OAAO,EAAE,CAAC,OAAO,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAM;QAC9C,MAAM,EAAE,gBAAgB;KACzB,CAAC,CAAC;AACL,CAAC;AAqHD,uDAAuD;AACvD,MAAM,CAAC,GAAG,EAAmD,CAAC;AAC9D,MAAM,EAAE,GAAG,EAEV,CAAC;AAEF,EAAE;AACF,mBAAmB;AACnB,EAAE;AAEF,SAAS,gBAAgB,CACvB,oBAA+C,EAC/C,qBAA0C,EAC1C,aAAkD;IAElD,MAAM,YAAY,GAAG,oBAAoB,IAAI,sBAAsB,CAAC;IACpE,MAAM,cAAc,GAAG,qBAAqB,IAAI,KAAK,CAAC;IACtD,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;QAC3B,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,IAAI,aAAa,KAAK,KAAK,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,aAAa,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AACtE,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,EAEqD,EACrD,IAEa;IAEb,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,GACtB,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC;QACpD,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC,MAAM,oBAAoB,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3E,MAAM,UAAU,GAA2B,IAAI,EAAE,UAAU;QACzD,CAAC,CAAC;YACE,QAAQ,EAAE,MAAM,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC;YACrD,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB;QACH,CAAC,CAAC,SAAS,CAAC;IACd,OAAO;QACL,QAAQ;QACR,MAAM;QACN,UAAU;QACV,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC;QACrB,aAAa,EAAE,IAAI,EAAE,aAAa;QAClC,MAAM,EAAE;YACN,QAAQ,EAAE,IAAI,EAAE,QAAQ,IAAI,iBAAiB;YAC7C,cAAc,EAAE,IAAI,EAAE,cAAc,IAAI,uBAAuB;SAChE;KACF,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CACf,OAKa;IAEb,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;IACpB,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,OAAO,CAAC,KAAK,CAAC;IACvB,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;IACvC,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAKhC,SAAyB,EACzB,GAAmB,EACnB,MAAc,EACd,EAAmE,EACnE,WAAwB,EACxB,OAIC;IAED,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,GAAG,MAAM,WAAW,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC/D,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,EAAE;QAC5D,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAClC,GAAG,QAAQ;YACX,MAAM;YACN,MAAM;SACP,CAAC,CAAC;QACH,MAAM;KACP,CAAC,CAAC;IACH,OAAO,GAAe,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAK3B,SAAyB,EACzB,GAAmB,EACnB,MAAc,EACd,EAAmE,EACnE,MAAY,EACZ,OAIC;IAED,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE;QACtD,GAAG,CAAC,MAAM,WAAW,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACnC,MAAM;QACN,MAAM;KACP,CAAC,CAAC;IACH,OAAO,EAAY,CAAC;AACtB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"kick.d.ts","sourceRoot":"","sources":["../../../src/component/kick.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAGvE,OAAO,EAEL,MAAM,EAKP,MAAM,aAAa,CAAC;AAErB;;;GAGG;AACH,wBAAsB,YAAY,CAChC,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,EAClD,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,GACvB,OAAO,CAAC,MAAM,CAAC,CAiDjB;AAED,eAAO,MAAM,SAAS,2EAOpB,CAAC"}
1
+ {"version":3,"file":"kick.d.ts","sourceRoot":"","sources":["../../../src/component/kick.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAGvE,OAAO,EAEL,MAAM,EAOP,MAAM,aAAa,CAAC;AAErB;;;GAGG;AACH,wBAAsB,YAAY,CAChC,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,EAClD,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,GACvB,OAAO,CAAC,MAAM,CAAC,CAiDjB;AAED,eAAO,MAAM,SAAS,2EAOpB,CAAC"}
@@ -2,7 +2,7 @@ import { internal } from "./_generated/api.js";
2
2
  import { internalMutation } from "./_generated/server.js";
3
3
  import { createLogger, DEFAULT_LOG_LEVEL } from "./logging.js";
4
4
  import { INITIAL_STATE } from "./loop.js";
5
- import { boundScheduledTime, DEFAULT_MAX_PARALLELISM, fromSegment, getCurrentSegment, getNextSegment, } from "./shared.js";
5
+ import { boundScheduledTime, DEFAULT_MAX_PARALLELISM, fromSegment, getCurrentSegment, getNextSegment, SECOND, toSegment, } from "./shared.js";
6
6
  /**
7
7
  * Called from outside the loop.
8
8
  * Returns the soonest segment to enqueue work for the main loop.
@@ -23,7 +23,7 @@ export async function kickMainLoop(ctx, source, config) {
23
23
  console.debug(`[${source}] main is saturated, so we don't need to kick it`);
24
24
  return next;
25
25
  }
26
- if (runStatus.state.segment <= next) {
26
+ if (runStatus.state.segment <= toSegment(Date.now() + SECOND)) {
27
27
  console.debug(`[${source}] main is scheduled to run soon enough, so we don't need to kick it`);
28
28
  return next;
29
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"kick.js","sourceRoot":"","sources":["../../../src/component/kick.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kick.js","sourceRoot":"","sources":["../../../src/component/kick.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { Id } from "./_generated/dataModel.js";
1
2
  export declare const enqueue: import("convex/server").RegisteredMutation<"public", {
2
3
  onComplete?: {
3
4
  context?: any;
@@ -18,16 +19,41 @@ export declare const enqueue: import("convex/server").RegisteredMutation<"public
18
19
  logLevel: "DEBUG" | "TRACE" | "INFO" | "REPORT" | "WARN" | "ERROR";
19
20
  };
20
21
  }, Promise<import("convex/values").GenericId<"work">>>;
22
+ export declare const enqueueBatch: import("convex/server").RegisteredMutation<"public", {
23
+ config: {
24
+ maxParallelism: number;
25
+ logLevel: "DEBUG" | "TRACE" | "INFO" | "REPORT" | "WARN" | "ERROR";
26
+ };
27
+ items: {
28
+ onComplete?: {
29
+ context?: any;
30
+ fnHandle: string;
31
+ } | undefined;
32
+ retryBehavior?: {
33
+ maxAttempts: number;
34
+ initialBackoffMs: number;
35
+ base: number;
36
+ } | undefined;
37
+ fnHandle: string;
38
+ fnType: "action" | "mutation" | "query";
39
+ fnName: string;
40
+ fnArgs: any;
41
+ runAt: number;
42
+ }[];
43
+ }, Promise<(string & {
44
+ __tableName: "work";
45
+ })[]>>;
21
46
  export declare const cancel: import("convex/server").RegisteredMutation<"public", {
22
47
  id: import("convex/values").GenericId<"work">;
23
48
  logLevel: "DEBUG" | "TRACE" | "INFO" | "REPORT" | "WARN" | "ERROR";
24
49
  }, Promise<void>>;
25
50
  export declare const cancelAll: import("convex/server").RegisteredMutation<"public", {
26
51
  before?: number | undefined;
52
+ limit?: number | undefined;
27
53
  logLevel: "DEBUG" | "TRACE" | "INFO" | "REPORT" | "WARN" | "ERROR";
28
54
  }, Promise<void>>;
29
55
  export declare const status: import("convex/server").RegisteredQuery<"public", {
30
- id: import("convex/values").GenericId<"work">;
56
+ id: Id<"work">;
31
57
  }, Promise<{
32
58
  readonly state: "finished";
33
59
  readonly previousAttempts?: undefined;
@@ -38,4 +64,16 @@ export declare const status: import("convex/server").RegisteredQuery<"public", {
38
64
  readonly state: "running";
39
65
  readonly previousAttempts: number;
40
66
  }>>;
67
+ export declare const statusBatch: import("convex/server").RegisteredQuery<"public", {
68
+ ids: import("convex/values").GenericId<"work">[];
69
+ }, Promise<({
70
+ readonly state: "finished";
71
+ readonly previousAttempts?: undefined;
72
+ } | {
73
+ readonly state: "pending";
74
+ readonly previousAttempts: number;
75
+ } | {
76
+ readonly state: "running";
77
+ readonly previousAttempts: number;
78
+ })[]>>;
41
79
  //# sourceMappingURL=lib.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../../src/component/lib.ts"],"names":[],"mappings":"AAsBA,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;sDAuClB,CAAC;AAEH,eAAO,MAAM,MAAM;;;iBAejB,CAAC;AAGH,eAAO,MAAM,SAAS;;;iBAmCpB,CAAC;AAEH,eAAO,MAAM,MAAM;;;;;;;;;;;GAyBjB,CAAC"}
1
+ {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../../src/component/lib.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,EAAE,EAAE,MAAM,2BAA2B,CAAC;AAiC/C,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;sDASlB,CAAC;AAiCH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;MAcvB,CAAC;AAEH,eAAO,MAAM,MAAM;;;iBAejB,CAAC;AAGH,eAAO,MAAM,SAAS;;;;iBAwCpB,CAAC;AAEH,eAAO,MAAM,MAAM;QAKuC,EAAE,CAAC,MAAM,CAAC;;;;;;;;;;GADlE,CAAC;AAwBH,eAAO,MAAM,WAAW;;;;;;;;;;;MAQtB,CAAC"}
@@ -8,42 +8,65 @@ import { boundScheduledTime, config, getNextSegment, max, onComplete, retryBehav
8
8
  import { recordEnqueued } from "./stats.js";
9
9
  const MAX_POSSIBLE_PARALLELISM = 100;
10
10
  const MAX_PARALLELISM_SOFT_LIMIT = 50;
11
+ const itemArgs = {
12
+ fnHandle: v.string(),
13
+ fnName: v.string(),
14
+ fnArgs: v.any(),
15
+ fnType,
16
+ runAt: v.number(),
17
+ // TODO: annotation?
18
+ onComplete: v.optional(onComplete),
19
+ retryBehavior: v.optional(retryBehavior),
20
+ };
21
+ const enqueueArgs = {
22
+ ...itemArgs,
23
+ config,
24
+ };
11
25
  export const enqueue = mutation({
26
+ args: enqueueArgs,
27
+ returns: v.id("work"),
28
+ handler: async (ctx, { config, ...itemArgs }) => {
29
+ validateConfig(config);
30
+ const console = createLogger(config.logLevel);
31
+ const kickSegment = await kickMainLoop(ctx, "enqueue", config);
32
+ return await enqueueHandler(ctx, console, kickSegment, itemArgs);
33
+ },
34
+ });
35
+ async function enqueueHandler(ctx, console, kickSegment, { runAt, ...workArgs }) {
36
+ runAt = boundScheduledTime(runAt, console);
37
+ const workId = await ctx.db.insert("work", {
38
+ ...workArgs,
39
+ attempts: 0,
40
+ });
41
+ await ctx.db.insert("pendingStart", {
42
+ workId,
43
+ segment: max(toSegment(runAt), kickSegment),
44
+ });
45
+ recordEnqueued(console, { workId, fnName: workArgs.fnName, runAt });
46
+ return workId;
47
+ }
48
+ function validateConfig(config) {
49
+ if (config.maxParallelism > MAX_POSSIBLE_PARALLELISM) {
50
+ throw new Error(`maxParallelism must be <= ${MAX_PARALLELISM_SOFT_LIMIT}`);
51
+ }
52
+ else if (config.maxParallelism > MAX_PARALLELISM_SOFT_LIMIT) {
53
+ createLogger(config.logLevel).warn(`maxParallelism should be <= ${MAX_PARALLELISM_SOFT_LIMIT}, but is set to ${config.maxParallelism}. This will be an error in a future version.`);
54
+ }
55
+ else if (config.maxParallelism < 1) {
56
+ throw new Error("maxParallelism must be >= 1");
57
+ }
58
+ }
59
+ export const enqueueBatch = mutation({
12
60
  args: {
13
- fnHandle: v.string(),
14
- fnName: v.string(),
15
- fnArgs: v.any(),
16
- fnType,
17
- runAt: v.number(),
18
- // TODO: annotation?
19
- onComplete: v.optional(onComplete),
20
- retryBehavior: v.optional(retryBehavior),
61
+ items: v.array(v.object(itemArgs)),
21
62
  config,
22
63
  },
23
- returns: v.id("work"),
24
- handler: async (ctx, { config, runAt, ...workArgs }) => {
64
+ returns: v.array(v.id("work")),
65
+ handler: async (ctx, { config, items }) => {
66
+ validateConfig(config);
25
67
  const console = createLogger(config.logLevel);
26
- if (config.maxParallelism > MAX_POSSIBLE_PARALLELISM) {
27
- throw new Error(`maxParallelism must be <= ${MAX_PARALLELISM_SOFT_LIMIT}`);
28
- }
29
- else if (config.maxParallelism > MAX_PARALLELISM_SOFT_LIMIT) {
30
- console.warn(`maxParallelism should be <= ${MAX_PARALLELISM_SOFT_LIMIT}, but is set to ${config.maxParallelism}. This will be an error in a future version.`);
31
- }
32
- else if (config.maxParallelism < 1) {
33
- throw new Error("maxParallelism must be >= 1");
34
- }
35
- runAt = boundScheduledTime(runAt, console);
36
- const workId = await ctx.db.insert("work", {
37
- ...workArgs,
38
- attempts: 0,
39
- });
40
- const limit = await kickMainLoop(ctx, "enqueue", config);
41
- await ctx.db.insert("pendingStart", {
42
- workId,
43
- segment: max(toSegment(runAt), limit),
44
- });
45
- recordEnqueued(console, { workId, fnName: workArgs.fnName, runAt });
46
- return workId;
68
+ const kickSegment = await kickMainLoop(ctx, "enqueue", config);
69
+ return Promise.all(items.map((item) => enqueueHandler(ctx, console, kickSegment, item)));
47
70
  },
48
71
  });
49
72
  export const cancel = mutation({
@@ -64,14 +87,19 @@ export const cancel = mutation({
64
87
  });
65
88
  const PAGE_SIZE = 64;
66
89
  export const cancelAll = mutation({
67
- args: { logLevel, before: v.optional(v.number()) },
68
- handler: async (ctx, { logLevel, before }) => {
90
+ args: {
91
+ logLevel,
92
+ before: v.optional(v.number()),
93
+ limit: v.optional(v.number()),
94
+ },
95
+ handler: async (ctx, { logLevel, before, limit }) => {
69
96
  const beforeTime = before ?? Date.now();
97
+ const pageSize = limit ?? PAGE_SIZE;
70
98
  const pageOfWork = await ctx.db
71
99
  .query("work")
72
100
  .withIndex("by_creation_time", (q) => q.lte("_creationTime", beforeTime))
73
101
  .order("desc")
74
- .take(PAGE_SIZE);
102
+ .take(pageSize);
75
103
  const shouldCancel = await Promise.all(pageOfWork.map(async ({ _id }) => shouldCancelWorkItem(ctx, _id, logLevel)));
76
104
  let segment = getNextSegment();
77
105
  if (shouldCancel.some((c) => c)) {
@@ -85,7 +113,7 @@ export const cancelAll = mutation({
85
113
  });
86
114
  }
87
115
  }));
88
- if (pageOfWork.length === PAGE_SIZE) {
116
+ if (pageOfWork.length === pageSize) {
89
117
  await ctx.scheduler.runAfter(0, api.lib.cancelAll, {
90
118
  logLevel,
91
119
  before: pageOfWork[pageOfWork.length - 1]._creationTime,
@@ -96,27 +124,35 @@ export const cancelAll = mutation({
96
124
  export const status = query({
97
125
  args: { id: v.id("work") },
98
126
  returns: statusValidator,
99
- handler: async (ctx, { id }) => {
100
- const work = await ctx.db.get(id);
101
- if (!work) {
102
- return { state: "finished" };
103
- }
104
- const pendingStart = await ctx.db
105
- .query("pendingStart")
106
- .withIndex("workId", (q) => q.eq("workId", id))
107
- .unique();
108
- if (pendingStart) {
109
- return { state: "pending", previousAttempts: work.attempts };
110
- }
111
- const pendingCompletion = await ctx.db
112
- .query("pendingCompletion")
113
- .withIndex("workId", (q) => q.eq("workId", id))
114
- .unique();
115
- if (pendingCompletion?.retry) {
116
- return { state: "pending", previousAttempts: work.attempts };
117
- }
118
- // Assume it's in progress. It could be pending cancelation
119
- return { state: "running", previousAttempts: work.attempts };
127
+ handler: statusHandler,
128
+ });
129
+ async function statusHandler(ctx, { id }) {
130
+ const work = await ctx.db.get(id);
131
+ if (!work) {
132
+ return { state: "finished" };
133
+ }
134
+ const pendingStart = await ctx.db
135
+ .query("pendingStart")
136
+ .withIndex("workId", (q) => q.eq("workId", id))
137
+ .unique();
138
+ if (pendingStart) {
139
+ return { state: "pending", previousAttempts: work.attempts };
140
+ }
141
+ const pendingCompletion = await ctx.db
142
+ .query("pendingCompletion")
143
+ .withIndex("workId", (q) => q.eq("workId", id))
144
+ .unique();
145
+ if (pendingCompletion?.retry) {
146
+ return { state: "pending", previousAttempts: work.attempts };
147
+ }
148
+ // Assume it's in progress. It could be pending cancelation
149
+ return { state: "running", previousAttempts: work.attempts };
150
+ }
151
+ export const statusBatch = query({
152
+ args: { ids: v.array(v.id("work")) },
153
+ returns: v.array(statusValidator),
154
+ handler: async (ctx, { ids }) => {
155
+ return await Promise.all(ids.map(async (id) => await statusHandler(ctx, { id })));
120
156
  },
121
157
  });
122
158
  async function shouldCancelWorkItem(ctx, workId, logLevel) {
@@ -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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"}