2016-07-11 4 views
1

회원에게 Caldav 피드를 제공하는 그룹 일정 신청서가 있습니다. 매우 간단합니다 - 요청에 따라 해당 멤버의 다가오는 이벤트를 잡고 스트림을 포맷하고 반환합니다. 일부 회원은 너무 자주 폴링하는 장치를 사용하고 있습니다. 즉, 자주 업데이트하지 않는 장치가 있습니다. 따라서 필자는 필자가 필요로하는 것보다 자주 데이터베이스를 때리고 있습니다.Caldav 서버 - 너무 자주 폴

분명히 형식화 된 스트림을 캐싱 할 수 있으며 필자가 느끼는 것보다 자주 더 자주 업데이트 할 수 있습니다. 최근에 설문 조사를 한 사람에게 "나에게 나중에 묻는다"라는 응답을 되돌려주는 것이 더 쉬울 것입니다. 그런 반응이 있습니까? 방금 스트림을 반환하지 않으면 클라이언트에서 "이벤트가 없습니다"라는 응답으로 읽습니까?

감사합니다.

+0

가 정확히 어떻게 그들이 폴링 않습니다 할 수있는 몇 가지를 알 수 있습니까? 폴링은 적절한 etag/ctag/dav-sync 쿼리가 폴링으로 실행되는 경우 자주 (단지 몇 바이트를 비교해야 함) CalDAV 서버에서 실제로 문제가되지 않습니다. – hnh

답변

0

클라이언트가 '너무 자주'폴링하는 이유를 수정해야합니다. '너무 자주'는 무엇을 의미합니까? 그들은 폴링이 싸도록 적절한 etag/sync-token을 보냅니 까?

실제로 HTTP 상태는 HTTP 503입니다.

서버는 현재 임시 오버로딩 또는 서버 유지 관리로 인해 요청을 처리 할 수 ​​없습니다. 이것은 지연 이후에 완화 될 일시적인 조건이라는 것을 의미합니다. 알고있는 경우 지연 길이는 재시도 후 헤더에 표시 될 수 있습니다. Retry-After가 주어지지 않으면, 클라이언트는 응답을 500 응답과 같이 처리해야합니다 (SHOULD).

이제 문제는 HTTP 클라이언트가 실제로 제대로 그 처리 얼마나 많은,하지만 난 :-)

관련 문제