Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

283
Vistas
Error misterioso al usar el servidor django con grequests

Actualmente, estoy ejecutando un servidor vagabundo en Ubuntu 14.04 y pruebo todos mis módulos django usando el simple python manage.py runserver 0.0.0.0:8000

Dado que me estoy conectando al servidor web django usando Chrome a través de http://localhost:8000 y el servidor se está ejecutando en una VM, estoy reenviando puertos mediante el uso de la siguiente configuración en Vagrantfile

config.vm.network "forwarded_port", guest: 8000, host: 8000

Todo funciona normalmente (todos los módulos/vistas/pruebas funcionan como se esperaba), sin embargo, desde que comencé a usar grequests , aparece este extraño error

 Exception happened during processing of request from ('10.0.2.2', 63520) Traceback (most recent call last): File "/home/vagrant/anaconda3/lib/python3.6/socketserver.py", line 639, in process_request_thread self.finish_request(request, client_address) File "/home/vagrant/anaconda3/lib/python3.6/socketserver.py", line 361, in finish_request self.RequestHandlerClass(request, client_address, self) File "/home/vagrant/anaconda3/lib/python3.6/socketserver.py", line 696, in __init__ self.handle() File "/home/vagrant/anaconda3/lib/python3.6/site-packages/django/core/servers/basehttp.py", line 159, in handle self.raw_requestline = self.rfile.readline(65537) File "/home/vagrant/anaconda3/lib/python3.6/socket.py", line 586, in readinto return self._sock.recv_into(b) File "/home/vagrant/anaconda3/lib/python3.6/site-packages/gevent/_socket3.py", line 385, in recv_into self._wait(self._read_event) File "/home/vagrant/anaconda3/lib/python3.6/site-packages/gevent/_socket3.py", line 157, in _wait self.hub.wait(watcher) File "/home/vagrant/anaconda3/lib/python3.6/site-packages/gevent/hub.py", line 651, in wait result = waiter.get() File "/home/vagrant/anaconda3/lib/python3.6/site-packages/gevent/hub.py", line 899, in get return self.hub.switch() File "/home/vagrant/anaconda3/lib/python3.6/site-packages/gevent/hub.py", line 630, in switch return RawGreenlet.switch(self) gevent.hub.LoopExit: ('This operation would block forever', <Hub at 0x7f3b777e8af8 epoll pending=0 ref=0 fileno=34>)

Tenga en cuenta que no estoy usando grequests y que simplemente importarlo parece causar este error incluso cuando no se llama ni nada.

¿Alguien tiene alguna idea?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Este es un problema con una de las dependencias subyacentes: gevent , que anula el comportamiento predeterminado de python incorporado, como el time , etc.

Tendrías que parchear el mono. Algo como:

 from gevent import monkey monkey.patch_all()

Aquí está la documentación relevante gevent .

Recientemente me encontré con este problema exacto, así que dejé de usar grequests e implementé mi propia lógica de solicitudes asíncronas

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda