[英]gevent: composing greenlets in series
在Twitter的Finagle
,可以使用map
和flatMap
链接多个异步操作。 例如,简单的网页抓取工具可能会执行以下操作,
downloadURL(url) // download a web page
.flatMap(extractProducts) // extract individual products for sale on it
.foreach(saveToDatabase) // save output to a database
我想在Python中使用gevent
做一些非常相似的事情,但是我不确定该怎么做。 Greenlet.link
似乎是一个开始,但是它不能让我访问包含最终结果的Greenlet
(据我所知)。
如何使用gevent.Greenlet
模仿Finagle
的map
和flatMap
操作?
gevent不是为“异步”编程( 在此上下文中为堆叠回调)而设计的,而是为并发编程而设计的。
gevent页面上的描述非常清楚:
gevent是一个基于协程的Python网络库,它使用greenlet在libevent事件循环的顶部提供高级同步API。
您正在寻找的东西是twisted
(但是请注意,那不是最“初学者友好”的框架)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.