【发布时间】:2012-10-22 14:18:47
【问题描述】:
从 Blobstore 中删除孤立 Blob 最有效的方法是什么?
应用功能和范围:
- 一个(登录的)用户想要创建一个包含一些正常的帖子 数据存储字段(例如姓名、姓氏、cmets)和 blob(图像)。
- 此外,blob 在恢复之前异步上传
数据通过 POST 发送
- 这留下了产生孤儿的好机会,例如,用户可能会上传图像但出于某种原因未完成表单。通过在发送其余数据之前不使用 blob 的异步上传,可以最大限度地减少此问题,但是,此问题在较小的范围内仍然存在。
可能但低效的解决方案:
- 只要完成了一个帖子(即发送了其余数据),就将 blob 键添加到“已用 blob”表中。然后,您可以每隔一段时间运行一个 cron 并将所有 blob 与“已用 blob”表进行比较。一个多小时前上传但仍“未使用”的将被删除。
- 我的理解是,遍历可能包含数十万个 Blob 键的列表并将其与另一个包含数十万个“已使用 Blob 键”的表进行比较是非常低效的。
有没有更好的方法来做到这一点?我搜索了类似的帖子,但找不到任何提及的有效解决方案。
提前致谢!
【问题讨论】:
标签: google-app-engine python-2.7 google-cloud-datastore blobstore