Workflow SDK 5.3.1, 원자적 start()로 중복 실행 레이스 조건 제거
·2026.11.04 09:00
핵심 내용
Workflow SDK 5.3.1이 원자적 start()를 추가해 중복 워크플로 실행을 방지했다.
자세히 보기
- Workflow SDK 5.3.1은 기존 getHookByToken() 후 start() 호출 방식 대신, 런을 허용하고 훅을 점유하는 단계를 하나로 통합한 원자적 start() 함수를 도입해 문서화된 중복 시작 레이스 조건을 제거함
- 토큰은 주문, 인보이스, 임포트, 요청 ID 등 사용자 도메인 데이터에서 파생된 멱등성 키로 작용하며, 중복 start() 호출 시 소유자의 conflictingRunId를 포함하는 HookConflictError를 발생시키고 새 런을 생성하지 않음
- 런이 허용되는 순간부터 점유된 Hook이 존재하므로 실행 시작 전에도 resumeHook이 작동하며, 초기 페이로드를 버퍼링해 순서대로 전달함
- experimental_minRetention 설정 시 start() 시점부터 계산된 기간 동안 런 종료 후에도 토큰을 사용할 수 없게 하여 늦게 도착한 중복 요청을 거부함
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.