ValueError: too many file descriptors in select()

OC Windows error: “ValueError: too many file descriptors in select()” I know, by default Windows can use only 64 sockets in asyncio loop. How to solve the problem of application crash at load testing (example code)?

import streamlit as st
st.write("hi")#streamlit run 1.py 

Hey @Vitaliy,

Can you share a more complete code snippet? Are you seeing this error after running the code snippet you shared?

Sorry for the english. The code was given as an example, but in this code I will get a similar error during load testing. I wanted to understand how to correctly catch an error through exceptions (try, except) in streamlit and not stop script execution. I bypassed this error through a script that restarts the streamlit script.

#start.py
from subprocess import run
from time import sleep

file_path = "1.py" 

def start_script():
    try:
        run("python "+file_path, check=True) 
    except:
        crash()

def crash():
    sleep(10) 
    start_script()

while(True):
    start_script()
#1.py
import streamlit as st
st.write("hi")#streamlit run 1.py 
if __name__ == "__main__":
	import os
	os.system(f"streamlit run {os.path.basename(__file__)}")

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.