gpt4 book ai didi

python - 将文件直接写入 blobstore 时 App Engine 出现不稳定问题

转载 作者:行者123 更新时间:2023-11-28 16:51:41 24 4
gpt4 key购买 nike

我将 App Engine 与 Python 结合使用。为了存储我的用户的图像,我将它们直接写入 blobstore,如 Google documentation 中所示。 .

我的代码如下:

# Image insertion in the blobstore
file_name = files.blobstore.create(mime_type='image/jpeg')
with files.open(file_name, 'a') as f:
f.write(self.imageContent)
files.finalize(file_name)
self.blobKey = files.blobstore.get_blob_key(file_name)
logging.info("Blobkey: "+str(self.blobKey))

问题不稳定。我没有改变任何东西,从昨天开始有时它会起作用有时它不起作用。为什么?当我打印 blobkey(代码的最后一行)时,我可以看到图像是否已保存到 blobstore 中。

当它工作时,我会显示以下行:

Blobkey: AMIfv94p1cFdqkZa3AhZUF2Tf76szVEwpGgwOpN...

当它不起作用时,我的日志中有这个:

Blobkey: None

最后一个细节:图像 (self.imageContent) 在每次写入之前都经过预处理并转换为 .JPEG。

编辑:
每次,图像都存储在 blobstore 中(我可以在管理控制台的 blobviewer 中看到它们)。这就是发生故障的 get_blob_key 函数...

请问遇到这种情况怎么办?我是不是做错了什么导致 App Engine 行为不稳定。我该如何解决这个问题?

最佳答案

我终于设法通过让线程在 50 毫秒的时间间隔内休眠来解决这个问题

这是我添加的代码:

# Sometimes blobKey is None
self.blobKey = files.blobstore.get_blob_key(file_name)

# We have to make it wait til it works!
for i in range(1,3):
if(self.blobKey):
break
else:
logging.info("blobKey is still None")
time.sleep(0.05)
self.blobKey = files.blobstore.get_blob_key(file_name)

logging.info("Blobkey: "+str(self.blobKey))

当然,你必须导入时间模块才能让它工作。

import time

我和 systempuntoout 提到的 Issue 4872 中的人做的差不多。

谢谢。请随时添加任何建议。

关于python - 将文件直接写入 blobstore 时 App Engine 出现不稳定问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6545247/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com