-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathserver.py
27 lines (25 loc) · 1.38 KB
/
server.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
if __name__ == "__main__":
try:
processes = []
from langflow_streamlit.managers import APIManager, LangflowManager, StreamlitManager
from langflow_streamlit.utils.process_utils import wait_for_server_ready
from langflow_streamlit.utils import settings, LOGGER, logger_set_level, generate_log
if settings.LOG_FILE_GENERATION:
generate_log()
else:
logger_set_level(settings.LOG_LEVEL)
if not settings.STREAMLIT_ONLY:
processes.append(LangflowManager.start())
if wait_for_server_ready("localhost", settings.LANGFLOW_PORT, settings.LANGFLOW_STARTUP_TIMEOUT):
LOGGER.info(f"Langflow is listening on http://localhost:{settings.LANGFLOW_PORT}")
else:
LOGGER.info("Langflow was not started on the given time! try to increase the environment variable LANGFLOW_STARTUP_TIMEOUT")
exit(1)
processes.append(APIManager.start())
wait_for_server_ready("localhost", settings.API_PORT)
LOGGER.info(f"API backend is listening on http://localhost:{settings.API_PORT}/docs")
processes.append(StreamlitManager.start())
LOGGER.info(f"Streamlit frontend is listening on http://localhost:{StreamlitManager.port}")
[process.join() for process in processes]
except KeyboardInterrupt:
LOGGER.debug("Exiting...")