J'ai donc une application flacon qui doit fonctionner avec gunicorn --worker-class eventlet
.accident de travailleur gunicorn au signal de treuil lors de l'utilisation de l'événementlet comme classe de travailleur
Mais quand je commence l'application comme celui-ci dans un volet iterm2, les accidents de travail quand je redimensionner le volet (envoyer le signal du treuil):
[2016-11-07 11:03:38 +0800] [57382] [INFO] Handling signal: winch
[2016-11-07 11:03:38 +0800] [57385] [ERROR] Exception in worker process
Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 557, in spawn_worker
worker.init_process()
File "/usr/local/lib/python2.7/site-packages/gunicorn/workers/geventlet.py", line 96, in init_process
super(EventletWorker, self).init_process()
File "/usr/local/lib/python2.7/site-packages/gunicorn/workers/base.py", line 132, in init_process
self.run()
File "/usr/local/lib/python2.7/site-packages/gunicorn/workers/geventlet.py", line 125, in run
eventlet.sleep(1.0)
File "/usr/local/lib/python2.7/site-packages/eventlet/greenthread.py", line 34, in sleep
hub.switch()
File "/usr/local/lib/python2.7/site-packages/eventlet/hubs/hub.py", line 294, in switch
return self.greenlet.switch()
File "/usr/local/lib/python2.7/site-packages/eventlet/hubs/hub.py", line 346, in run
self.wait(sleep_time)
File "/usr/local/lib/python2.7/site-packages/eventlet/hubs/kqueue.py", line 100, in wait
result = self._control([], self.MAX_EVENTS, seconds)
File "/usr/local/lib/python2.7/site-packages/eventlet/hubs/kqueue.py", line 43, in _control
return self.kqueue.control(events, max_events, timeout)
OSError: [Errno 4] Interrupted system call
[2016-11-07 11:03:38 +0800] [57385] [INFO] Worker exiting (pid: 57385)
Exception TypeError: TypeError("'NoneType' object is not callable",) in <bound method Client.__del__ of <etcd.client.Client object at 0x10290a5d0>> ignored
[2016-11-07 11:03:38 +0800] [57394] [INFO] Booting worker with pid: 57394
Pour votre information: * Je l'utilise aussi GRPC dans mon code. * Cela ne se produit pas sur mon serveur distant centos 7, seul mon mac