이 질문에 실제로 질문이 있으면 죄송합니다. 나는 꽤 많이 둘러 보았고 여기저기서 정보를 발견했지만 완전히 도움이되는 것은 아무것도 없었다.GAE에서 파이썬으로 지연된 작업을위한 작업 대기열
파이썬 코드로 처리되는 파일을 업로드 할 수있는 파이썬의 Google App 엔진에 응용 프로그램을 구축하고 처리 된 파일을 전자 메일로 사용자에게 다시 보냅니다. .
처음에는 지연된 작업을 사용하여 효과적이었습니다. 시간이 지남에 따라 프로세싱이 DeadlineExceededError에 도달하기 전에 10 분 이상 걸릴 수 있으므로 더 영리해야합니다.
그래서 작업 대기열을 조사하고 파일을 청크로 처리하는 대기열을 만들고 싶었고 마지막에 모든 것을 함께 모으기 시작했습니다. 이 같은 단일 지연된 작업의 모양을 만들기위한
내 현재 코드 :
_=deferred.defer(transform_function,filename,from,to,email)
그래서 transform_function 코드에서,에 이메일, 파일 이름의 값을 가져오고 처리를 할 떠난다있다.
다른 사람이 차례로 작동하는 선형 작업 체인으로 전환하는 방법을 알려주십시오. 내가 생각할 수있는 Google 애플리케이션 엔진의 모든 문서를 읽었지만 실제 코드 조각에 관해서는 불행히도 충분히 자세히 작성되지 않았습니다.
내가 좋아하는 것들에 대한 참조를 참조하십시오
taskqueue.add(url='/worker', params={'key': key})
을하지만 난 내 작업에 대한 URL이 아니라 다른 곳에서 구현 된 transform_function()를 가지고 있지 않기 때문에, 나는 이것이 나에게 어떻게 적용되는지 볼 수 없습니다 ...
많은 감사!
감사합니다. 개념적으로 나는 당신이 의미하는 바를 이해하는 데 아무런 문제가 없습니다. 실제로 문제가된다는 것을 실천하고 있습니다. 나는 두려워합니다. 이미 지연된 작업 내에서 지연된 작업에 대한 다른 호출을하면 첫 번째 작업은 여전히 결국 deadlineExceededError를 던지지 않을까요? 또는 return 문을 사용하여 실행중인 첫 번째 작업을 "중지"시키는 방법은 무엇입니까? – user3664865
이해가 잘못되었습니다. 가장 마지막으로하는 일은 deferred를 호출하여 새로운 작업을 수행하는 것입니다. 그런 다음 상태 200을 반환하고 실행중인 작업이 완료되었는지 확인하십시오. –