Streamlit:如何控制第二个实例并访问本地托管服务?

Streamlit: How to control the second instance and access locally hosted services?

我有一个完全缓存的 streamlit 应用程序。事实上,我在本地端口上使用了 3rd 方缓存系统 运行,我可以看到正在使用缓存。

但是,streamlit 在启动时会运行两个不同的实例:

# Windows Subsystem for Linux version 2.0, Running Ubuntu

  You can now view your Streamlit app in your browser.

  Local URL: http://localhost:8501
  Network URL: http://172.21.141.16:8501

从我的打印语句来看,似乎只有本地实例正在访问我在本地端口上托管的缓存。

同时,网络 URL 实例 根本不利用本地端口上托管的缓存 并重新计算所有 运行 进程正在愉快地在本地缓存自己。

我不会在虚拟机之外公开这个系统,所以我不关心安全性。


我的问题是:如何强制或消除 streamlit 的双实例运行时情况,以便所有 运行 个实例(如果必须有两个)都能够访问本地 运行缓存?

同时,我需要保留 streamlit 的网络拓扑,因为我只能从 Windows 主机操作系统访问外部 URL (http://172.21.141.16:8501)。

请注意,我正在使用本地 运行 缓存,因为我想访问和累积来自多个进程的缓存值——一些在前面,一些在后面。

Streamlit 不是 运行 两个实例,URL 表示相对 URL(本地主机)和您计算机的 public/network IP 地址。