我目前有从数据库中取回学校数据的代码,并将其保存到csv文件中:schoolID = '12345'def getSchool(schoolID): School = SchoolsDB.find_one({"_id": ObjectId(schoolID)}) return Schoolschool = getSchool(schoolID)school.to_csv(schoolID + ".csv")它目前接受一个学校ID,一次经营一所学校。我尝试过把它放在一个for循环中,以便它自动运行一个又一个学校,但我希望能够同时运行所有学校。我希望能够使用lambda同时运行所有学校,而不是一次运行一个。有人知道如何做到这一点吗?
1 回答
梦里花落0921
TA贡献1772条经验 获得超6个赞
从纯粹的蟒蛇视角:
看起来你正在使用某种形式的MongoDB,而不是让函数获取单个ID并每次执行,为什么不向它传递一个数组并一次性找到它们。
def getSchool(list_of_school_ids):
Schooldb.collection.find( { _id : { $in : list_of_school_ids} } )
school = getSchool(list_of_school_ids=["1234", "5678"])
然后只需构建一个巨大的CSV,其中每行都是您的条目 - 我完全是盲目的。SchoolsDB
如果没有,您可以查看:
https://aws.amazon.com/blogs/compute/parallel-processing-in-python-with-aws-lambda/
但我的直觉告诉我,对于你的用例来说,它的过度杀戮:)
添加回答
举报
0/150
提交
取消