Umm, Swizzec jest niepoprawny. Łatwo przetestować:
rpc = []
for i in range(1,20):
rpc.append(urlfetch.createrpc())
urlfetch.make_fetch_call(rpc[-1],"http://stackoverflow.com/questions/3639855/what-happens-if-i-call-more-than-10-asynchronous-url-fetch")
for r in rpc:
response = r.get_result().status_code
Nie zwróci żadnych wyjątków. W rzeczywistości działa to dobrze! Pamiętaj, że Twoje wyniki mogą się różnić w przypadku aplikacji, które nie są płatne.
To, co raportuje Swizec, to inny problem, związany z maksymalnymi jednoczesnymi połączeniami do twojej aplikacji. W przypadku aplikacji rozliczanych nie ma tu praktycznego ograniczenia, po prostu się skaluje (zgodnie z zasadą 1000ms).
GAE nie może wiedzieć, że Twój moduł obsługi zgłoszeń wyda blokujący adres URL, więc połączenie 500, które widzi, nie jest związane z jego aplikacją (to nadmierne uproszczenie, jeśli twój średni czas odpowiedzi na żądanie jest> 1000 ms, co do prawdopodobieństwa wzrostu o 500).
Z mojego doświadczenia wynika, że Swizec nie jest w błędzie. Zobacz moją odpowiedź poniżej. –