我正在尝试在谷歌应用引擎(java 版本)上生成 XML 格式的报告。我处理存储在数据存储中的几个对象,并创建表示所述对象的 XML 块,这些对象通过流发送到 blobstore。问题是生成的 xml 可能很大,所以我想使用 zip 压缩来缩小它。然后可以将 Xml 数据减少到原始大小的十分之一以下。zip 文件很简单,因为它只包含一个带有原始 xml 数据的文件。
我使用发送到任务队列的任务来处理数据,并使用此处描述的配方来创建 zip 文件并将其放入 blobstore。如果数据可以在一个任务执行(大约 10 分钟)内完全处理,那么一切正常。我不知道如何(或是否有可能)以某种方式存储 zip 流的状态并继续在上一个任务停止的地方写入 zip 文件。