문제

최신 Google App Engine 릴리스는 새로운 것을 지원합니다 작업 대기열 API 파이썬에서. 이 API와 이미 존재하는 기능을 비교하고있었습니다. 크론 서비스. RSS 피드를 잡고 매일 구문 분석하는 등 사용자가 시작하지 않은 배경 작업의 경우. 작업 대기열 API가 이와 같은 비 사용자가 시작된 요청에 사용될 수 있어야합니까?

도움이 되었습니까?

해결책

나는 "종류의"라고 말하고 싶습니다. 작업 대기열에 대해 기억해야 할 사항은 다음과 같습니다.

1) 시간당 분당 작동 한도는 정기적으로 무언가를 반복하는 것과 다릅니다. 토큰 버킷 크기가 1으로 설정되어 있어도 그 반복이 균등하게 간격을 두게 될 것이라고 보장하지는 않습니다. 그것은 대기열이 토큰 버킷으로 구현되었다고 말할 때 그들이 얼마나 심각한 지, 그리고 그 진술이 인터페이스의 보장 된 부분인지 여부에 따라 다릅니다. 이것은 실험실이기 때문에 아직 보장되는 것은 없습니다.

2) 작업이 실패하면 필수입니다. Cron 작업이 실패하면 로그인되어 다시 마감 될 때까지 reted가 없습니다. 따라서 Cron 작업은 자체 사본을 추가 한 다음 피드를 새로 고침하는 작업 또는 피드를 새로 고침 한 다음 자체 사본을 추가하는 작업과 동일한 방식으로 행동하지 않습니다.

작업을 사용하여 Cron 작업을 조롱하는 것이 가능할 수도 있지만 그만한 가치가 있다고 의심합니다. 실행하는 데 30 초 이상이 걸리는 Cron 작업 (또는 다른 요청 제한에 도달)을 중심으로 작업하려는 경우 작업을 조각으로 나누고 모든 조각을 작업 대기열. RSS 피드를 업데이트하는 최고의 방법 일 수있는 비동기 Urlfetch에 대한 (GAE 블로그?)에 대한 대화가있었습니다.

다른 팁

Google I/O 비디오가 설명 할 때까지 차이점을 잘 이해하지 못했습니다. 공식 출처는 일반적으로 최고입니다.

YouTube 비디오

프레젠테이션에서 슬라이드

내가 그것을 보는 방식은 내가 단지 하나의 RSS를 먹이를 파는 경우 Cron 작업이 충분할 수 있다는 것입니다. 사용자 또는 다른 시스템 변수에 의해 실행 시간에 지정된 x 수의 RSS 피드를 구문 분석 해야하는 경우 매번 작업을 선택합니다.

과거에 나는 정기적으로 많은 사용자 정의 트위터 검색을 정기적으로 발굴해야했고 CRON 작업을 통해 실행해야 할 요청을 실행하기 위해 매우 나쁜 대기열 시스템을 만들었 기 때문에 이것을 말합니다. 도움이되지 않았고 Cron 작업이 될 수있는 가장 작은 간격은 1 분에 불과합니다 (하루에 몇 분보다 더 많은 검색을 수행했습니다).

작업의 멋진 점은 ETA를 줄 수 있다는 것입니다. 따라서 앞으로 47 초 동안 실행되기를 원하거나 12:30에 실행되기를 원합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top