我有以下代码将数据(postgress中的行数据)转换为json。通常len(data) = 100 000
def convert_to_json(self, data):
s3 = self.session.client('s3')
infos = {
'videos':[],
'total_count': len(data)
}
for row in data:
video_id = row[0]
url = s3.generate_presigned_url(
ClientMethod='get_object',
Params={
'Bucket': '...',
'Key': '{}.mp4'.format(video_id)
}
)
dictionary = {
'id': video_id,
'location': row[1],
'src': url
}
infos['videos'].append(dictionary)
return json.dumps(infos)
谢谢你的建议。你知道吗
程序中的大部分时间可能都浪费在等待网络上。实际上,您需要调用
s3.generate_presigned_url
,它将向Amazon发送一个请求,然后您必须等待服务器最终响应。在此期间,没有什么处理你可以做。你知道吗因此,最有可能的是通过并行处理请求来加快进程。例如,您发送10个请求,然后等待10个响应。This article对此作了简要介绍。你知道吗
根据您的问题和文章,您可以使用以下方法来加快流程:
进程数
process=10
可以设置得更高,以使请求更并行。你知道吗相关问题 更多 >
编程相关推荐