Python 当使用eventlet作为工人类时,gunicorn工人在绞车信号下崩溃
因此,我有一个flask应用程序,它需要与Python 当使用eventlet作为工人类时,gunicorn工人在绞车信号下崩溃,python,gunicorn,eventlet,Python,Gunicorn,Eventlet,因此,我有一个flask应用程序,它需要与gunicorn--worker-class-eventlet一起运行 但是,当我在iterm2窗格中像这样启动应用程序时,当我调整窗格大小(发送绞盘信号)时,工作人员崩溃: [2016-11-07 11:03:38+0800][57382][INFO]装卸信号:绞车 [2016-11-07 11:03:38+0800][57385][错误]工人流程中出现异常 回溯(最近一次呼叫最后一次): 文件“/usr/local/lib/python2.7/sit
gunicorn--worker-class-eventlet
一起运行
但是,当我在iterm2窗格中像这样启动应用程序时,当我调整窗格大小(发送绞盘信号)时,工作人员崩溃:
[2016-11-07 11:03:38+0800][57382][INFO]装卸信号:绞车
[2016-11-07 11:03:38+0800][57385][错误]工人流程中出现异常
回溯(最近一次呼叫最后一次):
文件“/usr/local/lib/python2.7/site packages/gunicorn/arbiter.py”,第557行,在spawn_worker中
worker.init_进程()
文件“/usr/local/lib/python2.7/site packages/gunicorn/workers/geventlet.py”,第96行,在init_进程中
super(EventletWorker,self).init_进程()
文件“/usr/local/lib/python2.7/site packages/gunicorn/workers/base.py”,第132行,在init_进程中
self.run()
文件“/usr/local/lib/python2.7/site packages/gunicorn/workers/geventlet.py”,第125行,运行中
eventlet.sleep(1.0)
文件“/usr/local/lib/python2.7/site packages/eventlet/greenthread.py”,第34行,处于睡眠状态
hub.switch()
交换机中的文件“/usr/local/lib/python2.7/site packages/eventlet/hubs/hub.py”,第294行
返回self.greenlet.switch()
文件“/usr/local/lib/python2.7/site packages/eventlet/hubs/hub.py”,第346行,正在运行
自我等待(睡眠时间)
文件“/usr/local/lib/python2.7/site packages/eventlet/hubs/kqueue.py”,第100行,正在等待
结果=self.\u控制([],self.MAX\u事件,秒)
文件“/usr/local/lib/python2.7/site packages/eventlet/hubs/kqueue.py”,第43行,在
返回self.kqueue.control(事件、最大事件、超时)
OSError:[Errno 4]中断了系统调用
[2016-11-07 11:03:38+0800][57385][INFO]工人退出(pid:57385)
异常TypeError:忽略中的TypeError(“'NoneType'对象不可调用“,”)
[2016-11-07 11:03:38+0800][57394][INFO]带pid的引导工作程序:57394
供参考:
*我也在代码中使用grpc。
*这不会发生在我的远程centos 7服务器上,只有我的mac在调整大小之前执行此操作
import signal
signal.signal(signal.SIGWINCH, signal.SIG_IGN)
我认为它应该包含在gunicorn初始化中。在调整大小之前执行此操作
import signal
signal.signal(signal.SIGWINCH, signal.SIG_IGN)
我认为它应该包括在gunicorn的初始化中