我目前有從數據庫中取回學校數據的代碼,并將其保存到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
提交
取消