실행.startAsync()
그만큼.startAsync()메서드는 완료를 기다리지 않고 Workflow 실행을 시작합니다. 와 함께 즉시 반환됩니다.runId, Workflow가 백그라운드에서 실행될 수 있도록 합니다. 이는 장기 실행 Workflow나 예약된 작업에 유용합니다. 또한 Workflow 완료 시 차단을 방지합니다.
사용예사용예에 대한 직접 링크
const run = await workflow.createRun()
// Fire-and-forget - returns immediately
const { runId } = await run.startAsync({
inputData: {
value: 'initial data',
},
})
// Optionally poll for completion later
const result = await workflow.getWorkflowRunExecutionResult(runId)
매개변수매개변수에 대한 직접 링크
inputData?:
z.infer<TInput>
Workflow의 입력 스키마와 일치하는 입력 데이터입니다
requestContext?:
RequestContext
Workflow 실행 중 사용할 Request Context 데이터입니다
initialState?:
z.infer<TState>
Workflow 실행에 사용할 초기 상태입니다
tracingOptions?:
TracingOptions
Tracing 구성을 위한 옵션입니다.
metadata?:
Record<string, any>
루트 Trace span에 추가할 메타데이터입니다. 사용자 ID, 세션 ID 또는 기능 플래그와 같은 사용자 정의 속성을 추가할 때 유용합니다.
traceId?:
string
이 실행에 사용할 Trace ID입니다(1~32자의 16진수). 제공하면 이 Trace가 지정된 Trace의 일부가 됩니다.
outputOptions?:
OutputOptions
출력 구성을 위한 옵션입니다.
includeState?:
boolean
결과에 Workflow 실행 상태를 포함할지 여부입니다.
보고보고에 대한 직접 링크
runId:
string
이 Workflow 실행의 고유 식별자입니다. 나중에 상태를 확인하거나 결과를 가져올 때 사용합니다.
언제 사용하나요?startAsync()when-to-use-startasync에 대한 직접 링크
다음과 같은 경우 start() 대신 startAsync()를 사용하세요.
- 장기 실행 Workflow: Workflow를 완료하는 데 몇 분 또는 몇 시간이 걸릴 수 있습니다.
- 예약된/크론 트리거: 스케줄러를 차단하지 않고 Workflow를 트리거하려는 경우입니다.
- 폴링 실패 방지: Ingest Workflow를 사용하면
start()가 완료될 때까지 폴링하므로 실패하여 재시도가 발생할 수 있습니다.startAsync()는 이 문제를 방지합니다. - 백그라운드 처리: 작업을 대기열에 추가하고 결과를 비동기적으로 처리하려는 경우입니다.
Workflow 상태 확인 중Workflow 상태 확인 중에 대한 직접 링크
startAsync()를 호출한 후 다음을 사용하여 Workflow 상태를 확인할 수 있습니다.
// Get the execution result (including step outputs)
const result = await workflow.getWorkflowRunExecutionResult(runId)
if (result?.status === 'success') {
console.log('Workflow completed:', result.steps)
} else if (result?.status === 'failed') {
console.log('Workflow failed:', result.error)
} else if (result?.status === 'running') {
console.log('Workflow still running...')
}
관련된관련된에 대한 직접 링크
- 실행.시작(): Workflow를 시작하고 완료될 때까지 기다립니다.
- Workflow 개요
- Workflow.createRun()