Skip to main content
이 가이드에서는 Session을 사용하여 공유 설정을 사용하는 여러 샌드박스를 관리하는 방법을 설명합니다. 샌드박스 그룹을 조율하고, 공통 기본값을 적용하며, 워크로드 전체에서 일관된 정리를 보장해야 하는 클라이언트 개발자를 위한 가이드입니다.

인증 선택

이 예시는 섹션에서 CKS를 따로 지정하지 않는 한 서버리스 용량에서 실행됩니다. 샌드박스를 소유한 계정의 사용자 인증 정보를 선택하세요. 키 또는 토큰을 획득하는 방법은 사용자 인증 정보 선택 및 조회를 참조하세요. 설치 명령어는 활성화된 Python 가상 환경에서 실행하세요. 사용 중인 사용자 인증 정보 탭의 Python 코드를 sandbox_auth.py로 저장하고, 이 페이지에서 실행할 Python script와 같은 위치에 두세요. 이 파일에는 사용자 인증 정보 자체가 아니라 어떤 인증 방식을 사용할지만 저장됩니다. 예시에서는 이 파일에서 AUTH를 임포트한 후, 새로 만드는 각 샌드박스 또는 세션에 명시적으로 전달합니다.
SDK의 W&B 인증 전략으로 Forge API 키를 사용하세요.
sandbox_auth.py
CKS 배치를 사용하려면 CoreWeave 토큰을 선택하고 러너를 활성화한 다음, 샌드박스를 생성할 때 또는 SandboxDefaults에서 placement_mode="cks"를 설정하세요. auth=AUTH로 세션을 생성하면 해당 세션이 소유한 샌드박스도 함께 인증됩니다. 샌드박스에 다시 연결하거나 목록을 조회하거나 정리할 때도 동일한 사용자 인증 정보를 사용하세요.

세션 개요

Session은 다음을 제공합니다:
  • 모든 샌드박스에 대한 공유 기본 설정.
  • 세션이 닫힐 때 자동 정리.
  • @session.function() 데코레이터를 위한 범위.

기본 사용

샌드박스 만들기

다음 섹션에서는 세션을 통해 샌드박스를 만들고 세션 기본값을 재정의하는 방법을 설명합니다.

session.sandbox()

세션 기본값으로 샌드박스를 생성합니다. 샌드박스는 처음 사용할 때까지 시작되지 않습니다:
시작 RPC가 호출되는 시점을 명시적으로 제어하려면:

기본값 재정의

추가 인수를 전달하여 세션 기본값을 재정의하세요. 다음 서버리스 예시는 CPU 및 메모리 요청량을 각각의 제한과 동일하게 지정한 지연 시작 GPU 샌드박스를 설정합니다. 샌드박스를 시작하려면 세션을 벗어나기 전에 gpu_sandbox.start().result()를 호출하거나 명령어를 실행하세요.
사용 가능한 모든 옵션은 샌드박스 설정 가이드를 참조하세요.

여러 샌드박스 관리

세션은 샌드박스 풀을 관리하는 데 잘 맞습니다:
요청이 들어오기 전에 샌드박스를 미리 준비하려면 웜 풀 구현을 참조하세요. 이 레시피는 준비 완료 상태의 샌드박스를 버퍼에 확보해 두고, 각 워크로드에 별도의 샌드박스를 할당하며, 워크로드가 샌드박스를 클레임할 때마다 버퍼를 다시 채웁니다.

세션 라이프사이클

다음 섹션에서는 세션을 닫는 방법, close()의 동작, 오류 처리 방법을 설명합니다.

수동 종료

컨텍스트 관리자를 사용하지 않는 경우 세션을 명시적으로 종료하세요:

close()가 수행하는 작업

close()를 호출하면 세션을 통해 생성되었거나 세션 관리에 편입된 모든 샌드박스의 중지가 시작되고, 즉시 OperationRef[None]이 반환됩니다. 정리 작업이 완료될 때까지 기다리려면 session.close().result()를 호출하세요.

오류 처리

예외가 발생해도 세션은 정리됩니다:

외부 샌드박스를 세션 관리에 편입하기

세션 외부에서 생성된 샌드박스를 세션 관리에 포함하세요:

세션 속성

sandbox_count와 같은 기본 제공 속성으로 세션 상태를 확인하세요:

세션을 사용해야 하는 경우

세션 없이 사용하기

단일 샌드박스에는 세션이 필요하지 않습니다:
마지막 수정일 2026년 11월 4일