alpacon event wait

이벤트 결과가 정해질 때까지 기다린 뒤 결과를 출력하고 종료합니다.

사용법

alpacon event wait [flags]

핵심 사항

  • --type 필수, 작업 세션은 --target에 세션 ID도 지정
  • 종료 코드 0은 성공, 6은 거부, 4는 결과 미정, 2는 명령줄 오류
  • 기본 종료 조건이 없는 타입은 --until 필요, 지정하면 기본 성공·실패 조건 모두 대체
  • 기본 대기 시간은 5분

플래그

플래그유형설명기본값
-h, --helpbool명령 도움말 표시false
--targetstring대상 리소스 ID. 대상 없는 구독을 허용하는 경우에만 생략 가능—
--timeoutduration결과를 기다릴 최대 시간5m0s
--typestring구독할 이벤트 타입. 예: work_session. 필수—
--untilstrings대기를 끝낼 하위 타입을 쉼표로 구분. 기본 종료 조건을 대체하며, 기본 조건이 없는 이벤트 타입에는 필수—
--outputstring출력 형식: table 또는 json. 상위 명령에서 상속table

예제

작업 세션 승인 대기

bash
alpacon event wait --type work_session --target a1b2c3d4-5678-abcd-ef01-234567890abc

최대 30분 대기

bash
alpacon event wait --type work_session --target a1b2c3d4-5678-abcd-ef01-234567890abc --timeout 30m

승인 이벤트만 기다리기

bash
alpacon event wait --type work_session --target a1b2c3d4-5678-abcd-ef01-234567890abc --until approved

종료 코드 (Exit codes)

코드뜻
0성공 집합에 해당하는 이벤트가 도착함
1대기를 시작하지 못함: 로그인하지 않았거나 로그인이 만료되어 갱신하지 못했거나, 이벤트 채널에 15초 안에 연결하지 못했거나, 구독이 거부됨. 알 수 없는 플래그, 불필요한 인자, 기간 형식이 아닌 --timeout처럼 CLI가 해석하지 못한 플래그나 인자도 1로 끝남
2명령줄이 거부됨: --type 누락, 올바른 ID가 아닌 --target, 빈 --until, 0 이하의 --timeout, 기본 종료 조건이 없는 타입에 --until 누락
4타임아웃 또는 중단. 결과는 아직 정해지지 않음
6실패 집합에 해당하는 이벤트가 도착함

종료 코드 4는 실패가 아니라 결과가 아직 미정이라는 뜻입니다. --output json을 쓰면 alpacon exec와 같은 형태로 stdout에 {"status": "pending_approval", ...}을 출력합니다.

종료 조건

내장 종료 조건이 있는 타입은 work_session 하나뿐입니다.

집합서브 타입종료 코드
성공approved, activated0
실패rejected, expired, revoked, cancelled, completed6

그 밖의 타입은 대기를 끝낼 서브 타입을 --until로 지정하세요. --until은 내장 조건도 덮어씁니다. 실패 집합이 함께 사라지므로 종료 코드 6은 나오지 않습니다.

--until은 이벤트의 서브 타입과 맞춰 보므로 서브 타입을 내보내는 이벤트 타입에서만 대기를 끝낼 수 있습니다. 서브 타입이 없는 타입에 쓰면 타임아웃까지 기다린 뒤 종료 코드 4로 끝납니다.

결과를 놓치지 않는 방법

내장 종료 조건이 있는 타입에 --target까지 주면 구독한 직후 현재 상태를 한 번 읽습니다. 구독과 첫 이벤트 사이에 결과가 지나가 버려도 놓치지 않습니다. 끊긴 동안 발행된 이벤트는 유실되므로 재연결할 때마다 다시 읽습니다. 다른 타입은 현재 상태를 조회하지 않습니다.

출력

stdout에 한 줄이 나가고, 형식은 alpacon event watch와 같습니다. 나머지는 모두 stderr로 나갑니다.

대상 ID 찾기

alpacon work-session ls를 실행하거나 Alpacon 콘솔에서 확인하세요.

최종 수정: