Session을 사용하여 공유 설정을 사용하는 여러 샌드박스를 관리하는 방법을 설명합니다. 샌드박스 그룹을 조율하고, 공통 기본값을 적용하며, 워크로드 전체에서 일관된 정리를 보장해야 하는 클라이언트 개발자를 위한 가이드입니다.
인증 선택
이 예시는 섹션에서 CKS를 따로 지정하지 않는 한 서버리스 용량에서 실행됩니다. 샌드박스를 소유한 계정의 사용자 인증 정보를 선택하세요. 키 또는 토큰을 획득하는 방법은 사용자 인증 정보 선택 및 조회를 참조하세요. 설치 명령어는 활성화된 Python 가상 환경에서 실행하세요. 사용 중인 사용자 인증 정보 탭의 Python 코드를sandbox_auth.py로 저장하고, 이 페이지에서 실행할 Python script와 같은 위치에 두세요. 이 파일에는 사용자 인증 정보 자체가 아니라 어떤 인증 방식을 사용할지만 저장됩니다. 예시에서는 이 파일에서 AUTH를 임포트한 후, 새로 만드는 각 샌드박스 또는 세션에 명시적으로 전달합니다.
- Forge API 키
- CoreWeave API 액세스 토큰
SDK의 W&B 인증 전략으로 Forge API 키를 사용하세요.
sandbox_auth.py
SandboxDefaults에서 placement_mode="cks"를 설정하세요. auth=AUTH로 세션을 생성하면 해당 세션이 소유한 샌드박스도 함께 인증됩니다. 샌드박스에 다시 연결하거나 목록을 조회하거나 정리할 때도 동일한 사용자 인증 정보를 사용하세요.
세션 개요
Session은 다음을 제공합니다:
- 모든 샌드박스에 대한 공유 기본 설정.
- 세션이 닫힐 때 자동 정리.
@session.function()데코레이터를 위한 범위.
기본 사용
샌드박스 만들기
다음 섹션에서는 세션을 통해 샌드박스를 만들고 세션 기본값을 재정의하는 방법을 설명합니다.session.sandbox()
세션 기본값으로 샌드박스를 생성합니다. 샌드박스는 처음 사용할 때까지 시작되지 않습니다:기본값 재정의
추가 인수를 전달하여 세션 기본값을 재정의하세요. 다음 서버리스 예시는 CPU 및 메모리 요청량을 각각의 제한과 동일하게 지정한 지연 시작 GPU 샌드박스를 설정합니다. 샌드박스를 시작하려면 세션을 벗어나기 전에gpu_sandbox.start().result()를 호출하거나 명령어를 실행하세요.
여러 샌드박스 관리
세션은 샌드박스 풀을 관리하는 데 잘 맞습니다:세션 라이프사이클
다음 섹션에서는 세션을 닫는 방법,close()의 동작, 오류 처리 방법을 설명합니다.
수동 종료
컨텍스트 관리자를 사용하지 않는 경우 세션을 명시적으로 종료하세요:close()가 수행하는 작업
close()를 호출하면 세션을 통해 생성되었거나 세션 관리에 편입된 모든 샌드박스의 중지가 시작되고, 즉시 OperationRef[None]이 반환됩니다. 정리 작업이 완료될 때까지 기다리려면 session.close().result()를 호출하세요.
오류 처리
예외가 발생해도 세션은 정리됩니다:외부 샌드박스를 세션 관리에 편입하기
세션 외부에서 생성된 샌드박스를 세션 관리에 포함하세요:세션 속성
sandbox_count와 같은 기본 제공 속성으로 세션 상태를 확인하세요: