// Parent workflow
const parentWorkflow = createWorkflow({
id: 'parent-workflow',
inputSchema: ParentInputSchema,
outputSchema: ParentOutputSchema,
})
.then(subWorkflow1) // Sub-workflow doesn't receive parent's abort signal
.then(subWorkflow2) // Sub-workflow doesn't receive parent's abort signal
.commit();
// When parent is cancelled/aborted:
const controller = new AbortController();
await parentWorkflow.execute(input, { signal: controller.signal });
// Later...
controller.abort(); // Parent stops, but sub-workflows keep running!
// Parent workflow
const parentWorkflow = createWorkflow({
id: 'parent-workflow',
inputSchema: ParentInputSchema,
outputSchema: ParentOutputSchema,
})
.then(subWorkflow1) // Sub-workflow doesn't receive parent's abort signal
.then(subWorkflow2) // Sub-workflow doesn't receive parent's abort signal
.commit();
// When parent is cancelled/aborted:
const controller = new AbortController();
await parentWorkflow.execute(input, { signal: controller.signal });
// Later...
controller.abort(); // Parent stops, but sub-workflows keep running!