我正在尝试创建一个相对简单的App Engine应用程序,用于每天获取一些页面并将数据发布到CouchDB服务器。我的App Engine应用程序中有以下代码(带有couchdb-python库):
# post the result to CouchDB
price_data = {
'source': 'blah',
'date': str(result.headers['date'])
}
db.save(price_data)
db.put_attachment(price_data, file_one, 'prices_one.txt')
db.put_attachment(price_data, file_two, 'prices_two.txt')file_one和file_two是较早的urlfetch请求的结果。
现在一切正常,只是第一个附件在prices_one文本文件的开头使用price_data JSON ({ 'source': 'blah', 'date': 'date here'})发布,第二个附件以price_data JSON和整个prices_one文本文件为前缀,后跟实际的prices_two.txt文件。
我确信,如果我尝试添加第三个附件,它会将所有累积的数据发布到那个附件中。
如果我在CouchDB上查看数据库中的文件,它就是完整的文件,只是文件的开头是{ 'source': 'blah', 'date': 'date here'}。
你知道是什么原因导致App Engine在每次新的HTTP POST中都重新发送以前的数据吗?此外,我应该注意到,在我开始使用couchdb-python库之前,它也在做同样的事情,所以它似乎是与App Engine相关的东西,我不明白。
发布于 2011-02-10 23:48:55
在调查期间,请尝试使用原始的HTTP库,而不是CouchDB库。我建议使用原生应用引擎库(urlfetch或urllib2)。CouchDB接口非常简单,你不会有困难的。
结果有区别吗?
https://stackoverflow.com/questions/4948987
复制相似问题