#caching #memcached #streamlit
#кэширование #memcached #освещенный потоком
Вопрос:
У меня есть потоковое приложение, которое полностью кэшируется. Фактически, я использую стороннюю систему кэширования, работающую на локальном порту, и я вижу, что кэш используется.
Однако 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, поскольку я могу получить доступ только к внешнему URL (http://172.21.141.16:8501 ) из основной операционной системы Windows.
Обратите внимание, что я использую локально работающий кэш, потому что я хочу получать доступ и накапливать кэшированные значения из нескольких процессов — некоторые передние и некоторые задние.
Ответ №1:
Streamlit не запускает два экземпляра, URL-адреса указывают относительный URL-адрес (localhost) и общедоступный / сетевой IP-адрес вашего компьютера.