0

如何检查用于写入的 blobstore 文件是否已完成并准备好读取?

我是要尝试打开文件并捕获FinalizationError,尝试get_blob_key还是有files.is_readable(blobstore_file_name)方法?

更新:

我似乎写了一个令人困惑的问题,所以我会画一张背景图片。

我正在使用具有多个后台任务的文件 api生成文件。该文件在最终确定之前是不可读的。

我想显示正在生成的文件列表,并在它们准备好时显示每个文件的下载链接。

将布尔属性“finalized”添加到引用这些文件的实体只是为了表明后台进程已经完成,听起来很傻。

在其他情况下,我想检查文件的状态,而不是中继自己为每个最终文件存储一个指标。

4

1 回答 1

0

实际上,FinalizationError只能在调用时抛出,所以很可能你在尝试文件finalize()时无法得到它。open()

完成文件编写后,您可以调用finalize()或使用close(finalize=True)

with files.open(file_name, 'a') as f:
    f.write(file_data)
    f.close(finalize=True)

之后您的文件应该可供阅读。

如果您在使用这种方法时遇到任何问题,请告诉我们。

于 2012-05-05T20:38:11.563 回答