@redflow/client 0.0.3 → 0.0.5
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/INTERNALS.md +238 -0
- package/README.md +24 -3
- package/package.json +1 -1
- package/src/client.ts +36 -32
- package/src/types.ts +9 -1
- package/src/worker.ts +88 -16
- package/tests/bugfixes.test.ts +11 -11
- package/tests/fixtures/worker-crash.ts +1 -0
- package/tests/fixtures/worker-recover.ts +1 -0
- package/tests/redflow.e2e.test.ts +142 -73
package/tests/bugfixes.test.ts
CHANGED
|
@@ -219,7 +219,7 @@ test("crash recovery: attempt is not double-incremented", async () => {
|
|
|
219
219
|
},
|
|
220
220
|
);
|
|
221
221
|
|
|
222
|
-
const worker = await startWorker({
|
|
222
|
+
const worker = await startWorker({ app: "test-app",
|
|
223
223
|
redis,
|
|
224
224
|
prefix,
|
|
225
225
|
queues: [queue],
|
|
@@ -282,9 +282,9 @@ test("crash recovery: re-processing a running run does not bump attempt", async
|
|
|
282
282
|
await redis.lpush(keys.queueReady(prefix, queue), runId);
|
|
283
283
|
|
|
284
284
|
// Sync registry before starting worker
|
|
285
|
-
await client.syncRegistry(getDefaultRegistry());
|
|
285
|
+
await client.syncRegistry(getDefaultRegistry(), { app: "test-app" });
|
|
286
286
|
|
|
287
|
-
const worker = await startWorker({
|
|
287
|
+
const worker = await startWorker({ app: "test-app",
|
|
288
288
|
redis,
|
|
289
289
|
prefix,
|
|
290
290
|
queues: [queue],
|
|
@@ -325,7 +325,7 @@ test("retry: run is atomically transitioned to scheduled with queue entry", asyn
|
|
|
325
325
|
},
|
|
326
326
|
);
|
|
327
327
|
|
|
328
|
-
const worker = await startWorker({
|
|
328
|
+
const worker = await startWorker({ app: "test-app",
|
|
329
329
|
redis,
|
|
330
330
|
prefix,
|
|
331
331
|
queues: [queue],
|
|
@@ -426,7 +426,7 @@ test(
|
|
|
426
426
|
const queue = "q_batch_promote";
|
|
427
427
|
const countKey = `${prefix}:t:batchPromoteCount`;
|
|
428
428
|
|
|
429
|
-
const wf = defineWorkflow("batch-promote-wf", {queue }, async ({ step }) => {
|
|
429
|
+
const wf = defineWorkflow("batch-promote-wf", {queue, maxConcurrency: 5 }, async ({ step }) => {
|
|
430
430
|
await step.run({ name: "do" }, async () => {
|
|
431
431
|
await redis.incr(countKey);
|
|
432
432
|
return true;
|
|
@@ -440,7 +440,7 @@ test(
|
|
|
440
440
|
handles.push(await wf.run({}, { runAt: new Date(Date.now() + 200) }));
|
|
441
441
|
}
|
|
442
442
|
|
|
443
|
-
const worker = await startWorker({
|
|
443
|
+
const worker = await startWorker({ app: "test-app",
|
|
444
444
|
redis,
|
|
445
445
|
prefix,
|
|
446
446
|
queues: [queue],
|
|
@@ -527,7 +527,7 @@ test("duplicate step name: throws a clear error", async () => {
|
|
|
527
527
|
return { ok: true };
|
|
528
528
|
});
|
|
529
529
|
|
|
530
|
-
const worker = await startWorker({
|
|
530
|
+
const worker = await startWorker({ app: "test-app",
|
|
531
531
|
redis,
|
|
532
532
|
prefix,
|
|
533
533
|
queues: [queue],
|
|
@@ -567,7 +567,7 @@ test("unique step names: work normally", async () => {
|
|
|
567
567
|
return { sum: a + b + c };
|
|
568
568
|
});
|
|
569
569
|
|
|
570
|
-
const worker = await startWorker({
|
|
570
|
+
const worker = await startWorker({ app: "test-app",
|
|
571
571
|
redis,
|
|
572
572
|
prefix,
|
|
573
573
|
queues: [queue],
|
|
@@ -610,7 +610,7 @@ test(
|
|
|
610
610
|
},
|
|
611
611
|
);
|
|
612
612
|
|
|
613
|
-
const worker = await startWorker({
|
|
613
|
+
const worker = await startWorker({ app: "test-app",
|
|
614
614
|
redis,
|
|
615
615
|
prefix,
|
|
616
616
|
queues: [queue],
|
|
@@ -661,7 +661,7 @@ test(
|
|
|
661
661
|
},
|
|
662
662
|
);
|
|
663
663
|
|
|
664
|
-
const worker = await startWorker({
|
|
664
|
+
const worker = await startWorker({ app: "test-app",
|
|
665
665
|
redis,
|
|
666
666
|
prefix,
|
|
667
667
|
queues: [queue],
|
|
@@ -719,7 +719,7 @@ test("status indexes: consistent through full lifecycle", async () => {
|
|
|
719
719
|
let queuedMembers = await redis.zrange(`${prefix}:runs:status:queued`, 0, -1);
|
|
720
720
|
expect(queuedMembers.includes(handle.id)).toBe(true);
|
|
721
721
|
|
|
722
|
-
const worker = await startWorker({
|
|
722
|
+
const worker = await startWorker({ app: "test-app",
|
|
723
723
|
redis,
|
|
724
724
|
prefix,
|
|
725
725
|
queues: [queue],
|