데이터 저장소 쿼리가 얼마나 빨리 만료됩니까? 나는 봤지만 문서에서 번호를 찾지 못했습니다.데이터 저장소 쿼리의 유효 기간은 얼마나됩니까?
코드 예외 :
com.google.appengine.api.datastore.DatastoreFailureException: query has expired or is invalid. Please restart it with the last cursor to read more results.
데이터 저장소 쿼리가 얼마나 빨리 만료됩니까? 나는 봤지만 문서에서 번호를 찾지 못했습니다.데이터 저장소 쿼리의 유효 기간은 얼마나됩니까?
코드 예외 :
com.google.appengine.api.datastore.DatastoreFailureException: query has expired or is invalid. Please restart it with the last cursor to read more results.
30 초입니다.
구글 직원이 bugtracking 시스템 here으로 준 공식 답변을주었습니다.
쿼리 커서는 시간을 지속 할 수있다. 처음으로 쿼리를 수행 한 후 짧은 시간 내에이 오류가 계속 발생하면 커서 문자열이 잘못되었거나 잘못된 쿼리와 함께 커서를 사용하고있는 것일 수 있습니다. 쿼리는 커서를 생성하는 데 사용 된 쿼리와 동일해야합니다.
쿼리 성능을 높이는 복합 인덱스의 구성을 변경하면 기존의 모든 커서가 무효화됩니다. The docs은 (App Engine 팀에서) 기본 구현을 변경하면 커서가 무효화 될 수도 있음을 알립니다.
30 초 후에도 일관성이 있습니다. 단지 그것에 대한 공식적인 정보를보고 싶었습니다. 하지만 내가 (이 질문을 게시 한 후) 내가 발견 한 것은 bugtracking 시스템에서 [이 주석] (https://code.google.com/p/googleappengine/issues/detail?id=4432)입니다. – expert
나는 당신이 커서라고 불리는 두 가지 다른 것들에 대해 혼란스럽게 이야기하고 있다고 생각합니다. Dan은 UI 페이지 매김에 사용할 수있는 커서를 언급하고 있습니다. 실제로 수명에 제한이 없습니다. 키가 삭제되거나 삽입 될 때 시간이 지남에 따라 정확도가 떨어집니다. 그러나 30 초 제한 시간은 단일 쿼리의 연속 배치를 함께 묶는 "내부 커서"를 참조 할 가능성이 큽니다. Appstats를 사용하고 있다면 이것은 RunQuery - Next - Next 등입니다. 문제 4432의 주석을 참조하십시오. 어쩌면 너는 긴 배경 일을하고있을거야? –