首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Boto3/S3/Django:避免在计算文件哈希时阻塞事件循环

问Boto3/S3/Django:避免在计算文件哈希时阻塞事件循环
EN

Stack Overflow用户
提问于 2019-02-24 17:18:44
回答 1查看 205关注 0票数 1

从一个gunicorn+gevent工作者,通过django-storages进行(分块)上传到S3,我如何确保在计算文件/分块内容的哈希时,事件循环不会被阻塞?

在source for django-storages中,似乎没有任何范围来传递md5(/another散列),并且在source for botocore中,似乎没有在计算散列时产生事件循环的范围。

EN

回答 1

Stack Overflow用户

发布于 2019-02-25 17:24:44

现在有了一个PR for django-storages that calculates the MD5 hash as data received by the application。

总之,这会在初始化和新部件等方面更改S3Boto3StorageFile

代码语言:javascript
复制
self._file_md5 = hashlib.md5()

然后在接收到content_bytes时

代码语言:javascript
复制
self._file_md5.update(content_bytes)

然后,在上传每个部件时,将ContentMD5参数传递给部件上载函数

代码语言:javascript
复制
ContentMD5=base64.b64encode(self._file_md5.digest()).decode('utf-8')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54850449

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档