Streamlit Community Cloudを無料でもスリープさせない方法
/ 2 min read
Table of Contents
はじめに
Streamlit Community Cloudは、無料で手軽にStreamlitアプリケーションをホストできる便利なサービスですが、 無料プランの場合は一定期間アクセスがないと自動でスリープ状態に入ってしまいます。
そこで、今回はPythonとSeleniumを使って定期的に自動アクセスを行い、アプリを常にアクティブな状態に保つすることにしました。
方法
以下のPythonコードは、SeleniumとChromeDriverを利用して指定したURLにアクセスする仕組みです。 これをcron等で定期的に実行すればOKです。
ライブラリのインストール
$ pip install selenium chromedriver-binary-auto
コード例
from time import sleep
import chromedriver_binaryfrom selenium import webdriver
def web_open(url): try: options = webdriver.ChromeOptions() options.add_argument("--headless")
driver = webdriver.Chrome(options=options) driver.implicitly_wait(120)
driver.get(url) sleep(30)
driver.quit() print(f"Success! : {url}") except Exception as e: print(f"Error cccuered! : {e}")
def main(): urls = ["https://your-sub-domain.streamlit.app/"]
for url in urls: web_open(url)
if __name__ == "__main__": main()