Flask. Socket-io с gevent: [TypeError: объект 'module' не вызывается] - PullRequest
0 голосов
/ 22 апреля 2020

Я пытаюсь запустить flask приложение с socket-io, используя gevent, но при запуске получаю сообщение об ошибке:

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 ...

1 Ответ

0 голосов
/ 22 апреля 2020

Хорошо, когда я устанавливаю pip install gevent==1.4.0

все работает отлично, вместо новой версии Gevent

...