SYSTEM$WAIT_FOR_OPENFLOW_RUNTIME_STATUS
SYSTEM$WAIT_FOR_OPENFLOW_RUNTIME_STATUS (런타임 상태 대기)
지정한 각 런타임이 지정한 상태 중 하나에 도달할 때까지 기다려요. ALTER 명령 후에 예상 상태를 알고 있을 때 이 함수를 사용해요. 런타임이 안정될 때까지 기다리면 될 때는 대신 SYSTEM$WAIT_FOR_STABLE_OPENFLOW_RUNTIMES를 사용해요.
참조: SYSTEM$WAIT_FOR_STABLE_OPENFLOW_DEPLOYMENTS, SYSTEM$WAIT_FOR_OPENFLOW_DEPLOYMENT_STATUS, SYSTEM$WAIT_FOR_STABLE_OPENFLOW_RUNTIMES, SYSTEM$WAIT_FOR_STABLE_OPENFLOW_CONNECTORS, SYSTEM$WAIT_FOR_OPENFLOW_CONNECTOR_STATUS
출처: Snowflake SQL Reference - SYSTEM$WAIT_FOR_OPENFLOW_RUNTIME_STATUS
본문
구문
SELECT SYSTEM$WAIT_FOR_OPENFLOW_RUNTIME_STATUS(
<timeout_seconds>,
'<allowed_statuses>',
'<runtime_name>' [, '<runtime_name>' ... ]
);
인자
timeout_seconds
기다릴 최대 시간(초)이에요.
'<allowed_statuses>'
허용 가능한 상태의 쉼표로 구분된 목록이에요(예: 'ACTIVE' 또는 'ACTIVE,SUSPENDED').
'<runtime_name>'
하나 이상의 런타임 이름이에요. 완전히 한정된 이름 <database>.<schema>.<name>을 사용해요. USE DATABASE와 USE SCHEMA가 설정되면 단순 이름이 현재 세션에서 해석돼요.
반환 값
성공하면 'OK'를 반환해요. 시간이 초과되거나 런타임이 실패 상태에 들어가면 오류를 발생시켜요.
접근 제어
지정한 런타임에 대한 어떤 권한이라도 필요해요.
사용상 주의사항
- Openflow UI는 내부적으로 동일한 폴링을 수행해요.
- 런타임 프로비저닝은 일반적으로 3~5분이 걸려요. 600초의 타임아웃이 합리적인 기본값이에요.
- 함수가 시간 초과되면 기본 작업은 계속돼요. 새 타임아웃으로 대기 함수를 다시 실행해요. CREATE OPENFLOW RUNTIME을 다시 실행하지 마세요. 런타임은 이미 존재하고 여전히 프로비저닝 중이에요.
예시
런타임을 일시 중단한 후 SUSPENDED 상태가 될 때까지 기다리기:
ALTER OPENFLOW RUNTIME my_db.my_schema.my_runtime SUSPEND;
SELECT SYSTEM$WAIT_FOR_OPENFLOW_RUNTIME_STATUS(600, 'SUSPENDED', 'my_db.my_schema.my_runtime');
더 알아보기
- System functions (System Information) — 시스템 함수 모음
- SYSTEM$WAIT_FOR_STABLE_OPENFLOW_RUNTIMES — 런타임 안정 대기