---
title: "alpacon event wait"
description: "Alpacon 이벤트의 결과가 정해질 때까지 기다린 뒤 종료 코드로 다음 작업을 결정합니다. 이벤트 타입과 대상 ID, 대기 시간을 지정하는 방법을 알아보세요. 작업 세션의 성공·실패 조건, --until로 조건을 바꾸는 방법, 재연결 후 결과 확인과 종료 코드의 의미도 설명합니다."
---

> Full documentation index: https://docs.alpacax.com/llms.ko.txt

# alpacon event wait

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

## 사용법

`alpacon event wait [flags]`

## 핵심 사항

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

## 플래그

| 플래그 | 유형 | 설명 | 기본값 |
| --- | --- | --- | --- |
| `-h, --help` | `bool` | 명령 도움말 표시 | `false` |
| `--target` | `string` | 대상 리소스 ID. 대상 없는 구독을 허용하는 경우에만 생략 가능 | — |
| `--timeout` | `duration` | 결과를 기다릴 최대 시간 | `5m0s` |
| `--type` | `string` | 구독할 이벤트 타입. 예: `work_session`. 필수 | — |
| `--until` | `strings` | 대기를 끝낼 하위 타입을 쉼표로 구분. 기본 종료 조건을 대체하며, 기본 조건이 없는 이벤트 타입에는 필수 | — |
| `--output` | `string` | 출력 형식: `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](/reference/cli/exec/#종료-코드-exit-codes)와 같은 형태로 stdout에 `{"status": "pending_approval", ...}`을 출력합니다.

## 종료 조건

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

| 집합 | 서브 타입 | 종료 코드 |
|------|-----------|-----------|
| 성공 | `approved`, `activated` | 0 |
| 실패 | `rejected`, `expired`, `revoked`, `cancelled`, `completed` | 6 |

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

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

## 결과를 놓치지 않는 방법

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

## 출력

stdout에 한 줄이 나가고, 형식은 [alpacon event watch](/reference/cli/event/watch/#출력)와 같습니다. 나머지는 모두 stderr로 나갑니다.

## 대상 ID 찾기

[alpacon work-session ls](/reference/cli/work-session/ls/)를 실행하거나 Alpacon 콘솔에서 확인하세요.

Source: https://docs.alpacax.com/ko/reference/cli/event/wait/
