다른 사이트 (이 부분은 완료되었습니다.)에서 정보를로드하고 싶습니다만, 페이지가로드 될 때마다이 작업을 수행하고 있습니다. 그래서 '마지막으로 체크 된 bbc 사이트'와 같은 설정 테이블에서 변수를 가질 생각이었고 페이지가로드 될 때 마지막 체크가 끝난 후 다시 확인해야합니다. 그렇게하는 것에 어리석은 것이 있습니까?앱 엔진 앱 디자인 질문
또한이 설정과 같이 1 개의 변수를 저장하기 위해 반드시 테이블을 사용해야합니까?
다른 사이트 (이 부분은 완료되었습니다.)에서 정보를로드하고 싶습니다만, 페이지가로드 될 때마다이 작업을 수행하고 있습니다. 그래서 '마지막으로 체크 된 bbc 사이트'와 같은 설정 테이블에서 변수를 가질 생각이었고 페이지가로드 될 때 마지막 체크가 끝난 후 다시 확인해야합니다. 그렇게하는 것에 어리석은 것이 있습니까?앱 엔진 앱 디자인 질문
또한이 설정과 같이 1 개의 변수를 저장하기 위해 반드시 테이블을 사용해야합니까?
"마지막으로 방문한 시간"을 추적하기 위해 데이터 저장소에 엔티티를 만드는 것 외에 2 가지 옵션이 있다고 생각합니다.
한 가지 방법은 jldupont에서 설명한대로 cron API를 사용하여 외부 페이지를 주기적으로 확인하는 것입니다.
두 번째 방법은 마지막으로 방문한 시간을 memcache에 저장하는 것입니다. memcache는 영구적이지 않지만 마지막 새로 고침 시간 만 저장하는 경우에는 필요하지 않습니다. 어떤 이유로 Memcache에서 항목이 사라지면 최악의 경우 페이지를 다시 가져오고 Memcache를 현재 날짜/시간으로 업데이트해야합니다.
첫 번째 방법은 정기적으로 외부 페이지를 확인하려는 경우입니다. 두 번째 방법은 사용자가 페이지를 클릭 할 때만 외부 페이지를 확인하려는 경우 및 최근 페이지에서 직접 페이지를 가져 오지 않았 으면 좋을 수 있습니다. 이 방법을 사용하면 누군가가 실제로 관련 데이터를 찾고 있지 않으면 외부 페이지를 가져 오는 리소스를 낭비하지 않습니다.
Scheduled Tasks을 사용할 수도 있습니다.
또한 구성 매개 변수에 반드시 Datastore를 사용할 필요는 없습니다. 스크립트/구성 파일에이 값을 지정할 수 있습니다.
내가 스크립트에서 변수를 선언하면 스크립트가 끝나면 사라질 것입니다. 내가 잘못? –
더 정확하게 : 요청이 완료되면. 하지만 스크립트를 반복해서로드하는 것을 방해하는 것은 아무것도 없습니다. 예약 된 작업을 사용하는 경우이 구성은 cron.yaml에만 있습니다 (물론 작업 스크립트에서 물건을로드 할 수 있습니다). – jldupont
포스터가 구성 매개 변수가 아니라 "마지막으로 가져온 시간"을 저장하는 것에 대해 이야기하고 있다고 생각합니다. –
일부 처리기가 해당 정보를 복구 할 수있는 방식으로 일부 새로운 정보를 저장하기 위해 GAE 앱 (예 : 예약 된 작업, 메시지 수신, 웹 페이지 방문 등)에 일부 처리기가 필요한 경우 , GAE의 저장은 유일한 좋은 일반적인 방법입니다 (예를 들어 memcache는 당신의 아래에서 만료 될 수 있습니다). "테이블"(?!)이 의미하는 바를 잘 모르겠지만 실제로 GAE의 스토리지를 의미하는 것으로 추측하면 대답은 "예"입니다. 아주 특정한 상황에서는 쿠키 나 Amazon 스토리지 인스턴스 등을 통해 방문자의 브라우저와 같이 네트워크의 다른 위치에 데이터를 저장하려고 할 수 있지만 이러한 특정 상황이 유익한 것으로 나타나지는 않습니다. 귀하의 유스 케이스에).
"이 방법을 사용하면 다른 사람이 실제로 관련 데이터를 찾고 있지 않으면 외부 페이지를 가져 오는 리소스를 낭비하지 않습니다." 나는 이것을 생각하고 있었지만, 하루에 2 개가 넘는 히트를 얻길 바랬다. P –
네, 검사 할 페이지의 수와 얼마나 자주 검사해야하는지에 달려있다. 확인해야 할 1000 개의 다른 페이지가 있다면 리소스를 절약 할 수 있습니다. 하지만 한 페이지 만 가지고 있다면 매시간 또는 매일 한 번 또는 한 번씩 확인해보십시오. –