gpt4 book ai didi

python - 我可以跨 GAE Pipeline API worker 保持状态吗?

转载 作者:行者123 更新时间:2023-11-28 17:50:33 25 4
gpt4 key购买 nike

我已经开始使用新的 Google App Engine Pipeline API 创建 MapReduce 作业,但我遇到了这样一种情况:我希望每个工作人员在运行时都拥有相同列表的副本。

一个选择是使用内存缓存,但我担心这个列表的大小最终可能会大于我可以使用内存缓存设置的大小。我认为我的另一个选择是在运行时使用此列表上下文初始化每个工作人员,但我在文档中找不到任何方法来执行此操作,查看源代码也没有提供任何明显的答案。

有没有办法将额外的参数添加到 map reduce 函数或以其他方式将状态注入(inject) MapReduce worker 上下文?

最佳答案

目前没有正式的方法。您可能会在 MapReduce 管道中添加一个任务来计算和缓存列表(在数据存储或 blobstore 中,以最合适的为准,再加上内存缓存中的副本)。然后让您的映射器和/或缩减器函数对保存列表的全局变量进行惰性初始化,首先检查内存缓存,然后根据需要回退到数据存储/blobstore(并重新缓存列表)。随着新实例启动以处理任务,它们将自行初始化。

假设列表在 MapReduce 启动时是固定的,来自不同实例的竞争读取将不是问题。

关于python - 我可以跨 GAE Pipeline API worker 保持状态吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10954677/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com