использование библиотеки расширений c с gevent - PullRequest
0 голосов
/ 28 мая 2018

Я использую сельдерей для выполнения запросов snmp с библиотекой easysnmp, которая имеет интерфейс C.Проблема в том, что на ввод-вывод тратится много времени.Я знаю, что мне следует использовать eventlet или gevent в подобных ситуациях, но я не знаю, как обрабатывать исправления сторонней библиотеки, когда она использует расширения C.

1 Ответ

0 голосов
/ 29 мая 2018

Eventlet и gevent не могут monkey-patch C-код.

Вы можете снять блокировку вызовов с потоков ОС с помощью eventlet.tpool.execute(library.io_func)

...