2012-09-02 4 views
0

GAE 대기열에서 실행되는 작업이 있습니다. 내 논리에 따르면 작업을 다시 실행할 것인지 결정하고 싶습니다.두 번째 큐 대기열에서 작업이 수동으로 실행되도록 설정하는 방법

나는 일반적으로 큐에 의해 실행하고 나는 "X-AppEngine에-TaskRetryCount" 을 확인하고 몇 후 시도 종료 할 수있는 기능을 갖고 싶어하기 때문에 다음 큐 에 다시 넣어 할 싶지 않아 시도.

내 이해에 따르면 작업이 다시 실행되는 유일한 경우는 내부 GAE 오류가 발생할 때 (또는 내 코드가 "DeadlineExceededException"사례에서 너무 오래 걸리는 경우입니다. 그 코드에 대해 "인질"을 붙잡고 싶습니다.)

어떻게 GAE가 X-AppEngine-TaskRetryCount ++를 설정하는 방식으로 대기열에 작업을 다시 입력 할 수 있습니까 ??

답변

2

python에서 self.error()를 사용하여 프로그래밍 방식으로 작업을 다시 시도하거나 다시 시작할 수 있습니다. 워드 프로세서 는 :

retries = int(self.request.headers['X-Appengine-Taskretrycount']) 
if retries < 10 : 
    self.error(409) 
    return 
: 앱 엔진은 사용 범위 200-299

의 외부 그리고 당신은 재시도 횟수를 테스트 할 수있는 작업의 시작 부분에 어떤 HTTP 상태 코드를 반환하여 작업을 재 시도

관련 문제