从Python生成器在后台预取元素,从单独的进程
项目描述
一个库,用于在后台使用单独的进程预取Python生成器的项目。
安装(无依赖项)
pip install multiprocessing_generator
示例
from multiprocessing_generator import ParallelGenerator
def my_generator():
while True:
# ... download something long ...
yield result
with ParallelGenerator(
my_generator(),
max_lookahead=100) as g:
for elem in g:
# ... do some heavy processing on that element ...
生成器将在后台获取最多100个超出消费的元素,这在生产者和消费者不使用相同资源(例如网络与CPU)时很有用。
生成器可以透明地处理异常和更严重的故障。
在MIT许可下发布。