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가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.

AI 처리 방식을 확인하거나, 요약 오류와 출처 표기 문제, 삭제 요청을 문의 · 건의로 알려주세요.