python - 使用 Python 和 CouchDB 在 App Engine 上进行奇怪的 HTTP 数据积累

标签 python json http google-app-engine couchdb

我正在尝试制作一个相对简单的 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_onefile_two 是早期 urlfetch 请求的结果。

现在一切正常,除了第一个附件在prices_one 文本文件,第二个附件以 price_data JSON 以及整个 prices_one 文本文件为前缀,后跟实际的prices_two.txt 文件。
我确定如果我尝试添加第三个附件,它会将所有累积的数据发布到那个附件。
如果我继续在 CouchDB 上查看数据库中的文件,它是完整的文件,只是在开头带有 { 'source': 'blah', 'date': 'date here'} .

有什么想法会导致 App Engine 在每个新的 HTTP POST 中不断重新发送以前的数据吗?另外,我应该注意到,在我开始使用 couchdb-python 库之前它也在做同样的事情,所以它似乎与我不理解的 App Engine 相关。

最佳答案

在调查期间,尝试使用原始 HTTP 库而不是 CouchDB 库。我建议使用 native App Engine 库(urlfetch 或者 urllib2)。 CouchDB API 非常简单,您不会有困难。

结果有区别吗?

关于python - 使用 Python 和 CouchDB 在 App Engine 上进行奇怪的 HTTP 数据积累,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4948987/

相关文章:

r - 我想检查 url 是否重定向到 R 中的另一个页面

javascript - Angular $http get 在浏览器中有效,但在设备上无效 - Ionic

python - DASK:Typerrror:列分配不支持类型 numpy.ndarray 而 Pandas 工作正常

python - 如何在 Jupyter Notebook 中绘图后抑制文本输出

python - pip 显示错误的包版本

sql - Delphi:访问 JSON 数组中的 JSON 对象

java - 如何将json对象日期解析为Android

python - 通过python获取Ubuntu操作系统中特定文件类型的默认图标

java - Elasticsearch - 如何使用 Java 在 JSON 对象中添加或编辑字符串数组?

javascript - 这个未知错误从何而来以及如何预防?