如何解决Python Gevent - 猴子 patch_all - 它适用于已编译的 .so 模块吗?
我使用 gevent.pywsgi
来为 Flask 应用程序提供服务。在我的测试服务器上,gevent.Greenlet
原语的行为符合预期 - 它们运行时不会阻塞主服务器线程。
但是,当使用 Cython 部署应用程序并将其编译为 .so 模块时,应用程序似乎会在 Greenlet 类执行操作时阻止执行。
我怀疑编译代码时 monkey.patch_all()
不起作用(因为猴子无法修补 python 代码)。是这样吗?
编辑:
在我的情况下,应用程序性能的差异似乎是由平台差异引起的(Windows 中文件系统的非阻塞行为与 CentOS 中的阻塞行为)。了解 monkey.patch_all()
是否适用于编译模块仍然很有趣。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。