我在我的一个GAE应用程序中看到一些非常奇怪的行为,其中定期(每隔几天左右),整个数据存储区似乎被擦除并重新开始。为了可能的原因,我一直在搜索高低,到目前为止空手而归。
数据存储区中只有1个实体,有2个属性。我正在通过读取CSV文件并插入数据来加载数据存储区。这是代码的样子:
filename = "data.csv"
rows = []
with open(filename, 'rb') as csvfile:
lines = csv.reader(csvfile, delimiter=',', quotechar='"')
for line in lines:
prop1Value = line[0]
prop2Value = line[1]
aRow = SomeEntity(prop1=prop1Value, prop2=prop2Value)
rows.append(aRow)
chunkSize = 50
numProgressChunks = int(len(rows) / chunkSize) + 1
for puttableRows in chunks(rows, chunkSize):
db.put(puttableRows)
这是数据写入数据存储区的唯一时间。它可以工作,导入CSV后,我可以进行查询和获取数据。然后几天后我发现数据消失了。不仅所有行都消失了,而且实体(种类)不再存在于GAE数据存储查看器中,而当我自己删除所有行时,该类仍会显示。
这可能是巧合,但是最后一次擦除数据时,我注意到GAE实例大约在同一时间(几分钟内)启动。
这是一个使用django的python2.7的HRD应用程序。在重置时没有部署。我查看了日志,并且在重置时无法找到任何奇怪的事情。
我错过了什么?