2011-02-09 9 views
3

비교적 단순한 App Engine 앱을 만들어 매일 페이지를 가져 와서 데이터를 CouchDB 서버에 게시하려고합니다. I합니다 (CouchDB를-파이썬 라이브러리) 내 앱 엔진 애플리케이션에 다음 코드를 가지고 :Python 및 CouchDB를 사용하는 App Engine에서의 이상한 HTTP 데이터 누적

# 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 이전 URL을 가져올 요청의 결과이다.

지금이 모든 첫 번째 첨부 파일이 prices_one 텍스트 파일의 시작 부분에 price_data JSON ({ 'source': 'blah', 'date': 'date here'}) 함께 게시됩니다 것을 제외하고 잘 작동, 두 번째 첨부 파일은 다음의 price_data JSON뿐만 아니라 전체 prices_one 텍스트 파일 모두로 시작됩니다 실제 prices_two.txt 파일
세 번째 첨부 파일을 추가하려고하면 모든 누적 데이터가 해당 파일에 게시됩니다.
DB에서 파일을보기 위해 CouchDB를 사용하면 전체 파일이되고, 처음에는 { 'source': 'blah', 'date': 'date here'}이됩니다.

App Engine이 각각의 새로운 HTTP POST에서 이전 데이터를 계속 재전송하게 만들 수있는 아이디어가 있으십니까? 또한 couchdb-python 라이브러리를 사용하기 전에 동일한 작업을 수행 했으므로 App Engine과 관련이없는 것으로 보입니다.

답변

1

조사하는 동안 CouchDB 라이브러리 대신 원시 HTTP 라이브러리를 사용해보십시오. 네이티브 App Engine 라이브러리 (urlfetch 또는 아마도 urllib2)를 제안합니다. CouchDB API는 매우 간단합니다. 어려움이 없습니다.

결과에 차이가 있습니까?

+0

urlfetch를 다시 시도했는데 작동하고있는 것처럼 보입니다. 따라서 couchdb 라이브러리를 사용하기 전에 문제가있는 것으로 착각했습니다. 감사! – Quetzal

관련 문제