어려운 문제가 있습니다.appengine blob을 비동기 적으로 작성하고 모든 작업이 완료 될 때 완료하십시오.
날짜로 매개 변수화 된 URL 집합을 반복하여 가져오고 있습니다.
somewebservice.com?start=01-01-2012 & 끝 = 때때로
2012년 1월 10일는 내용이 URL이 잘립니다에서 반환 (임의 누락 예를 들어, 여기에 하나의 예입니다 너무 큰 범위를 정의했기 때문에 '잘린 오류'메시지가 표시된 결과) 두 URL로 쿼리를 분할해야합니다.
somewebservice.com?start=01-01-2012 & end = 01- 05-2012
somewebservice.com?start=01-06-2012 & end = 01-10-2012
결과가 더 이상 잘리지 않을 때까지이 작업을 반복적으로 수행 한 다음 BLOB에 쓰기 작업을 수행하여 동시 쓰기 작업을 허용합니다.
이러한 URL 가져 오기 호출/blob 쓰기는 각각 별도의 작업 대기열 작업에서 처리됩니다.
문제는 모든 작업이 완료된 시점을 알기위한 계획을 고안해서는 안된다는 것입니다. 샤드 드 카운터를 사용해 보았지만 재귀가 어렵습니다. 누군가 제가 Pipeline API를 사용할 것을 제안 했으므로 Slatkin 대화를 3 번 보았습니다. 그것은 재귀와 함께 작동하는 것처럼 보이지 않습니다 (하지만 나는 여전히 lib를 완전히 이해하지 못함을 인정합니다).
작업 대기열 작업 (및 재귀 적으로 생성되는 자식) 집합이 완료되어서 내 BLOB를 완료하고 그 작업을 수행 할 수있는 시점을 알 수 있습니까?
덕분에, 존
나는 확실히 그것에 대해 당신의 말을들을 것입니다. 감사.Java API를 사용하고 있습니다. 그 점을 알았습니까? –
@JohnWheeler 저는 Java Pipeline API에 대해 잘 알고 있지는 않지만 같은 방식으로 작동한다고 생각합니다. –