2011-03-30 2 views
0

GAE 애플리케이션의 실행 인스턴스가있을 때 파이썬 코드를 사용하거나 관리 콘솔에서 항목을 추가하거나 제거 할 때 데이터 스토어 파일에 아무런 변화가 없다는 것을 눈치 채 셨습니다. 파일을 제거하고 관리 영역에서 모든 데이터를 안전하게 보호하고 코드에서 액세스 할 수 있습니다. 그러나 응용 프로그램을 다시 시작하면 모든 데이터가 사라지고 빈 데이터 저장소가 생깁니다. 그래서 질문 - GAE는 파일을 시작할 때만 모든 데이터를 읽은 다음 메모리에서 처리하여 응용 프로그램을 중지 한 후 데이터를 저장합니까? 응용 프로그램이 실행 중일 때 데이터 저장소 파일에 대한 요청을 수행합니까? 파일이 실행 중일 때 파일에 아무 것도 저장하지 않으면 응용 프로그램이 예기치 않게 중지되면 데이터가 손실 될 수 있습니다. 이 부분에서 어떻게 작동하는지 알고 계시다면 나에게 명확하게 말씀해주십시오.로컬 GAE는 실행 중에 하드 드라이브의 로컬 데이터 저장소 파일을 읽고 씁니까?

+0

개발 서버에는 프로덕션 GAE 서버에서 응용 프로그램이 실행되는 방식이 반영되어 있지 않으므로 걱정하지 않으셔도됩니다. –

답변

3

데이터 저장소가 기본 파일을 읽고 쓰는 방법은 다양합니다. 표준 데이터 저장소는 시작시 읽히고 데이터가 수정됨에 따라 점진적으로 저널 스타일로 기록됩니다. SQLite 백엔드는 SQLite 데이터베이스를 사용합니다.

백엔드도 개발 백엔드가 아니기 때문에 고장이 발생하더라도 견고성을 위해 설계되지 않았습니다. 기본 파일을 수정하거나 삭제해서는 안됩니다. 기본적으로

1

(가 사라지고 당신은 아무것도 변경 볼 수없는 이유입니다) 당신이 다시 시작 --datastore_path 때 설정에 사라 데이터를 원하지 않는 경우

을 임시 위치에 데이터를 저장할 dev_appserver 같은 dev에 서버를 실행 :

dev_appserver.py --datastore_path /path/to/app/myapp.db /path/to/app 

닉, dev에 서버가 방탄 할 수 내장되지 않은 말했듯이, 그것은 당신이 신속하게 응용 프로그램을 개발할 수 있도록 설계되었습니다. 프로덕션 설정은 매우 다르며 예외적 인 상황을 처리 할 때 예상치 못한 일을하지 않습니다.

관련 문제