如何在蟒蛇中使用 AWS lambda 一次运行多个函数

我目前有从数据库中取回学校数据的代码,并将其保存到csv文件中:


schoolID = '12345'


def getSchool(schoolID):

    School = SchoolsDB.find_one({"_id": ObjectId(schoolID)})

    return School

school = getSchool(schoolID)



school.to_csv(schoolID + ".csv")

它目前接受一个学校ID,一次经营一所学校。我尝试过把它放在一个for循环中,以便它自动运行一个又一个学校,但我希望能够同时运行所有学校。


我希望能够使用lambda同时运行所有学校,而不是一次运行一个。有人知道如何做到这一点吗?


潇湘沐
浏览 70回答 1
1回答

梦里花落0921

从纯粹的蟒蛇视角:看起来你正在使用某种形式的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/但我的直觉告诉我,对于你的用例来说,它的过度杀戮:)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python