oto/apps/runner/assets/yaml/sample/05_pipeline_while_switch.yaml
toki 86afabb3eb refactor(runner): 런타임 패키지를 앱 하위로 이동한다
독립 control plane 구성을 위해 기존 Dart CLI/runtime을 runner 앱 경계로 옮기고, 후속 client/core/root 작업을 같은 마일스톤 task group에 연결한다.
2026-06-05 06:34:45 +09:00

66 lines
1.3 KiB
YAML

---
# [샘플] 루프(while) + 멀티케이스(switch)
property:
workspace: /path/to/project
retryCount: 0
maxRetry: 3
status: pending
pipeline:
id: main
workflow:
# while: 조건이 참인 동안 반복
- while:
condition-int: <!property.retryCount> < <!property.maxRetry>
on-do:
- exe: check-status
- exe: mark-retry-complete
# switch: 값에 따라 분기
- switch:
condition-string: <!property.status>
cases:
- value: success
tasks:
- exe: notify-success
- value: failed
tasks:
- exe: notify-fail
- value: pending
tasks:
- exe: notify-pending
# wait-until: 비동기 작업 완료 대기
# - async: long-running-task
# - wait-until-string: <!state.long-running-task> != complete
# wait-until-seconds: N초 단순 대기
# - wait-until-seconds: 30
commands:
- command: Print
id: check-status
param:
message: "상태 확인 중... (시도: <!property.retryCount>)"
- command: SetValue
id: mark-retry-complete
param:
values-int:
retryCount: 3
- command: Print
id: notify-success
param:
message: "성공"
- command: Print
id: notify-fail
param:
message: "실패"
- command: Print
id: notify-pending
param:
message: "대기중"