Streamlit 앱용 사용자 지정 슬립 타이머¶
이 항목에서는 웨어하우스에서 Streamlit in Snowflake 의 Streamlit 앱에 대한 사용자 지정 슬립 타이머를 설정하는 방법을 설명합니다.
Streamlit 앱의 슬립 타이머 정보¶
슬립 타이머는 Warehouse Runtime을 사용하는 Streamlit 앱에만 적용됩니다. Container Runtime(미리 보기)은 장기 실행 서비스를 위해 설계되었으며 슬립 타이머를 지원하지 않습니다.
슬립 타이머는 Streamlit 앱의 config.toml 구성 파일을 사용하여 구성됩니다. ROOT_LOCATION 매개 변수로 앱을 만든 경우 SQL을 사용하여 앱의 스테이지 위치에 있는 구성 파일을 PUT해야 합니다. 그렇지 않은 경우 SQL 또는 Snowsight Streamlit in Snowflake 편집기를 사용할 수 있습니다.
WebSocket 시간 제한¶
뷰어가 Streamlit 앱을 열면 뷰어의 브라우저와 Streamlit 서버 사이에 WebSocket 연결이 설정됩니다. 사용자 지정 슬립 타이머가 없는 경우 비활성으로 인해 WebSocket 연결 시간이 초과되면 앱이 자동 일시 중단됩니다. 계정 수준에서 기본 WebSocket 시간 제한은 약 15분입니다. 모든 Streamlit 앱에 대한 계정의 WebSocket 시간 제한은 Snowflake 지원에 문의하여 변경할 수 있습니다.
사용자 지정 슬립 타이머를 설정하면 타이머가 지정된 시간 제한에 도달할 때까지 앱을 절전 모드로 유지한 후 연결을 정상적으로 종료하려고 시도합니다. 그러나 사용자의 브라우저 설정에 따라 비활성 브라우저 탭으로 인해 타이밍 메커니즘이 일시 중단되거나 지연될 수 있습니다. 이러한 경우 앱은 WebSocket 시간 제한 설정의 적용을 받습니다. 따라서 사용자 지정 슬립 타이머를 WebSocket 시간 제한보다 짧게 설정하면 일부의 경우 앱이 예상만큼 빠르게 자동으로 일시 중단되지 않을 수 있습니다. 최상의 결과를 얻으려면 WebSocket 시간 제한을 앱에서 사용하는 가장 작은 사용자 지정 슬립 타이머와 동일하게 설정합니다.
또한 앱 위에서 마우스를 움직이면 WebSocket 시간 제한 및 사용자 지정 슬립 타이머가 모두 재설정됩니다.
Snowsight를 사용하여 사용자 지정 슬립 타이머 설정하기¶
Streamlit 앱이 Warehouse Runtime을 사용하는 경우 코드 웨어하우스 비용을 줄이기 위해 Streamlit 앱의 사용자 지정 슬립 타이머가 자동으로 일시 중단되도록 설정할 수 있습니다. ROOT_LOCATION 매개 변수로 앱을 만든 경우 Snowsight 대신 PUT 명령을 사용해야 합니다.
Snowsight 에 로그인합니다.
탐색 메뉴에서 Projects » :ui:`Streamlit`을 선택한 다음 Streamlit 앱을 선택합니다.
오른쪽 위 모서리에서 Edit 을 선택합니다.
``.streamlit/config.toml``이 없는 경우 왼쪽의 파일 탐색기에서
» Create new file.`을 선택합니다. `.streamlit/config.toml``을 입력하고 :ui:`Create`를 선택합니다.왼쪽의 파일 탐색기에서 ``.streamlit/config.toml``로 이동합니다.
파일 편집기에서
[snowflake.sleep]테이블의streamlitSleepTimeoutMinutes값을 설정합니다.예를 들어, 8분 후에 Streamlit 앱이 자동 일시 중단되도록 하려면
config.toml파일에 다음 텍스트를 추가합니다.[snowflake] [snowflake.sleep] streamlitSleepTimeoutMinutes = 8
PUT 명령을 사용하여 사용자 지정 슬립 타이머 설정하기¶
ROOT_LOCATION 매개 변수로 Streamlit 앱을 만든 경우 PUT 명령을 사용하여 앱의 구성 파일을 수정해야 합니다. FROM 매개 변수로 Streamlit 앱을 만든 경우 PUT 명령 또는 Snowsight 를 사용하여 앱의 구성 파일을 수정할 수 있습니다.
로컬 컴퓨터에
config.toml파일을 생성하거나 수정하여[snowflake.sleep]테이블에서 ``streamlitSleepTimeoutMinutes``를 설정합니다.예를 들어, 8분 후에 Streamlit 앱이 자동 일시 중단되도록 하려면
config.toml파일에 다음 텍스트를 포함합니다.[snowflake] [snowflake.sleep] streamlitSleepTimeoutMinutes = 8
config.toml파일을 앱의 스테이지 위치에 업로드합니다.ROOT_LOCATION 매개 변수로 앱을 만든 경우 다음 명령을 실행합니다.
PUT file:///<path_to_your_local_directory>/config.toml @streamlit_db.streamlit_schema.streamlit_stage/.streamlit/ overwrite=true auto_compress=false;
FROM 매개 변수로 앱을 만든 경우 다음 명령을 실행합니다.
PUT file:///<path_to_your_local_directory>/config.toml snow://streamlit/streamlit_db.streamlit_schema.streamlit_stage/versions/live/.streamlit/ overwrite=true auto_compress=false;
Streamlit 파일 작업에 대한 자세한 내용은 SQL을 사용하여 Streamlit 앱 만들기 및 배포하기 섹션을 참조하십시오.
참고
streamlitSleepTimeoutMinutes 는 5분~240분 사이의 임의의 값으로 설정할 수 있습니다.
타이머를 지정하기 위한 구성 파일을 생성하지 않은 경우 기본 자동 일시 중단 시간은 15분입니다.