我正在使用 pycurl 编写一个应用程序,并且需要使其在 Twisted 中工作。我一直在寻找使 pycurl 以某种方式与 Twisted 框架兼容,或者使用现有的 Twisted 库。我建议使用 Twisted web,但是没有从 pycurl 到 Twisted web 的直接函数映射。有人能指出我正确的方向吗?
编辑:一种解决方案是在另一个线程中运行 pycurl,但最好,我希望使用非阻塞的 Twisted 框架或 pycurl,这样我就不必创建另一个线程。
最佳答案
对于任何阻塞函数,如果没有其他异步替代方案,Twisted 允许您在另一个线程上运行它,但将其视为 Deferred。
from twisted.internet import threads
d = threads.deferToThread(pycurl.some_function)
d.addCallback(callback)
请参阅 Generatin Deferreds 中的将阻止代码与 Twisted 集成 .
关于python - 如何将 pycurl 与 Twisted Python 结合使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32386589/