jrief / django-websocket-redis

Websockets for Django applications using Redis as message queue
http://django-websocket-redis.awesto.com/
MIT License
895 stars 221 forks source link

ValueError: filedescriptor out of range in select() #291

Open robnanola opened 4 years ago

robnanola commented 4 years ago

Env: python2.7 Version: 0.4.6

Error:

Traceback (most recent call last):
  File "/home/project/env/local/lib/python2.7/site-packages/ws4redis/wsgi_server.py", line 100, in __call__
    ready = self.select(listening_fds, [], [], 4.0)[0]
  File "/home/project/env/local/lib/python2.7/site-packages/ws4redis/uwsgi_runserver.py", line 56, in select
    return gevent.select.select(rlist, wlist, xlist, timeout)
  File "/home/project/env/local/lib/python2.7/site-packages/gevent/select.py", line 145, in select
    sel_results = _original_select(rlist, wlist, xlist, 0)
ValueError: filedescriptor out of range in select()

Currently maintaining a busy server, I understand the select has a limit of 1024 file descriptors. Any recommendations on what should I do?

luissalgadowh commented 2 years ago

I have the same problem with python 3.6

This is my environment

[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true

[dev-packages]
django-debug-toolbar = "==2.1"
pytest = "==5.3.1"

[packages]
# Django
django-environ = "==0.4.5"
django = "==2.2.8"
django-celery-beat= "==2.0.0"
django-celery-results = "==1.2.1"
django-ckeditor = "==5.9.0"
django-cors-headers = "==3.4.0"
django-countries = "==4.2"
django-crontab = "==0.7.1"
django-js-asset= "==1.2.2"
django-redis = "==4.10.0"
django-stdimage = "==5.0.1"
django-storages = "==1.8"
django-tenant-schemas = "==1.9.0"
django-timezone-field = "==4.1.2"
django-websocket-redis = "==0.6.0"
django-nocaptcha-recaptcha = "==0.0.20"
# Python packages
amqp = "==2.6.1"
asgiref = "==3.2.3"
bcrypt = "==3.2.0"
billiard = "==3.6.3.0"
certifi = "==2020.12.5"
chardet = "==4.0.0"
cryptography = "==3.4.7"
defusedxml = "==0.7.1"
future = "==0.18.2"
greenlet = "==1.0.0"
idna = "==2.10"
pyasn1 = "==0.4.8"
pycparser = "==2.20"
pycryptodomex = "==3.10.1"
PyNaCl = "==1.4.0"
pyserial = "==3.5"
pysmi = "==0.3.4"
pysnmp = "==4.4.12"
python-crontab = "==2.5.1"
python-dateutil = "==2.8.1"
python-utils = "==2.5.6"
python3-openid = "==3.2.0"
pytz = "==2021.1"
pdfkit = "==0.6.1"
zipp = "==3.4.1"
msgpack = "==1.0.2"
progressbar2 = "==3.53.1"
PyJWT = "==1.5.2"
# Package of dependencies
Babel= "==2.9.0"
# AWS
boto3 = "==1.10.37"
botocore = "==1.13.50"
s3transfer = "==0.2.1"
# Documentation
cffi = "==1.14.5"
docutils = "==0.15.2"
# Celery
flower = "==0.9.4"
redis = "==3.5.3"
sentry-sdk = "==0.13.5"
# synchronous API
gevent = "==1.4.0"
# Requets
uWSGI = "==2.0.18"
requests = "==2.25.1"
requests-oauthlib = "==1.3.0"
#External packages
humanize = "==0.5.1"
influxdb = "==5.3.1"
textfsm = "==1.1.2"
newrelic = "==6.2.0.156"
Pillow = "==8.1.2"
jmespath = "==0.10.0"
tornado = "==6.1"
urllib3 = "==1.25.11"
kombu = "==4.6.11"
ntc-templates = "==2.0.0"
numpy = "==1.19.5"
oauthlib = "==3.1.0"
pandas = "==1.1.0"
paramiko = "==2.7.2"
ply = "==3.11"
scp = "==0.13.3"
six = "==1.15.0"
tenacity = "==7.0.0"
typing-extensions = "==3.7.4.3"
vine = "==1.3.0"
sqlparse = "==0.4.1"
importlib-metadata = "==3.7.3"
importlib-resources = "==5.1.2"
# PostgreSQL
psycopg2 = "==2.8.6"
psycopg2-binary = "==2.8.4"
# Auth Packages
django-allauth = "==0.40.0"
# API THINGS
djangorestframework = "==3.11.0"
django-filter = "==2.2.0"
django-cors-middleware = "==1.5.0"
# Templates
django-widget-tweaks = "==1.4.8"
# Tasks Queue
celery =  "==4.4.7"
#Phone Numbers
django-phonenumber-field= "==4.0.0"
phonenumbers = "==8.11.5"
# Version correcta de RouterOs
routeros-api = {editable = true,git = "https://github.com/oortega/RouterOS-api",ref = "02b9560d93a78cd1337f9f9c90b47f5d16bf0d0d"}
django-async-messages-redux = {git = "https://github.com/oortega/django-async-messages-redux.git",editable = true}
netmiko = {ref = "c08c5ebb3484383f034e22b9576f88be07525f72",git = "https://github.com/ktbyers/netmiko",editable = true}
# Pasarela
stripe = "==2.43.0"
# SNMP Monitors
easysnmp = {ref = "691904bfe83e1bf725382b972f590f7b0d146348",git = "https://github.com/rogerwh/easysnmp",editable = true}
aiosnmp = "==0.3.1"

[requires]
python_version = "3.6"