我正在尝试使用gevent在socket-io上执行flask应用,但在启动时收到错误:
uwsgi[23312]: WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x5645e3bee6a0 pid: 23312 (default app)
uwsgi[23312]: spawned uWSGI master process (pid: 23312)
uwsgi[23312]: spawned uWSGI worker 1 (pid: 23315, cores: 1024)
uwsgi[23312]: spawned uWSGI worker 2 (pid: 23316, cores: 1024)
uwsgi[23312]: spawned uWSGI worker 3 (pid: 23317, cores: 1024)
uwsgi[23312]: spawned uWSGI worker 4 (pid: 23318, cores: 1024)
uwsgi[23312]: spawned uWSGI worker 5 (pid: 23319, cores: 1024)
uwsgi[23312]: spawned uWSGI worker 6 (pid: 23320, cores: 1024)
uwsgi[23312]: spawned uWSGI worker 7 (pid: 23321, cores: 1024)
uwsgi[23312]: *** running gevent loop engine [addr:0x5645e2778d30] ***
uwsgi[23312]: TypeError: 'module' object is not callable
uwsgi[23312]: TypeError: 'module' object is not callable
uwsgi[23312]: TypeError: 'module' object is not callable
uwsgi[23312]: spawned uWSGI worker 8 (pid: 23322, cores: 1024)
uwsgi[23312]: spawned uWSGI worker 9 (pid: 23323, cores: 1024)
uwsgi[23312]: TypeError: 'module' object is not callable
uwsgi[23312]: TypeError: 'module' object is not callable
uwsgi[23312]: spawned uWSGI worker 10 (pid: 23324, cores: 1024)
uwsgi[23312]: TypeError: 'module' object is not callable
uwsgi[23312]: TypeError: 'module' object is not callable
uwsgi[23312]: TypeError: 'module' object is not callable
uwsgi[23312]: TypeError: 'module' object is not callable
uwsgi[23312]: TypeError: 'module' object is not callable
uwsgi[23312]: TypeError: 'module' object is not callable
uwsgi[23312]: TypeError: 'module' object is not callable
uwsgi[23312]: TypeError: 'module' object is not callable
uwsgi[23312]: TypeError: 'module' object is not callable
uwsgi[23312]: TypeError: 'module' object is not callable
我的uwsgi_conf.ini很简单,只有以下几行很重要:
http-websockets = true
http-socket = :1234
chmod-socket = 660
gevent = 1024
当我删除gevent
行时,一切正常,没有TypeError: 'module' object is not callable
错误
我也在另一台服务器上拥有该项目的1:1副本,一切运行正常
UPDATE-1:gevent-early-monkey-patch = 1
如果我删除此行,则会出现其他错误:
Respawned uWSGI worker 1 (new pid: 26039)
DAMN ! worker 3 (pid: 26030) died :( trying respawn ...
当我安装时pip install gevent==1.4.0
一切正常,而不是新的gevent版本