Google App Engine temps?

Dans Google App Engine application, j'ai utilisé les lignes suivantes à la lecture d'une page d'un site :

  String Url="http://...",line,Result="";

  URL url=new URL(Url+"?r="+System.currentTimeMillis());
  BufferedReader reader=new BufferedReader(new InputStreamReader(url.openStream()));

  while ((line=reader.readLine())!=null) { Result+=line+"\n"; }
  reader.close();

Mais j'ai eu l'erreur suivante :

Uncaught exception from servlet
com.google.apphosting.api.DeadlineExceededException: This request (f5e2889605d27d42) started at 2011/09/07 03:20:41.458 UTC and was still executing at 2011/09/07 03:21:30.888 UTC.
    at sun.misc.Unsafe.park(Native Method)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedNanos(AbstractQueuedSynchronizer.java:1037)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(AbstractQueuedSynchronizer.java:1326)
    at com.google.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:276)
    at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:82)
    at com.google.appengine.tools.development.TimedFuture.get(TimedFuture.java:55)
    at com.google.common.util.concurrent.ForwardingFuture.get(ForwardingFuture.java:69)
    at com.google.apphosting.runtime.ApiProxyImpl.doSyncCall(ApiProxyImpl.java:177)
    at com.google.apphosting.runtime.ApiProxyImpl.access$000(ApiProxyImpl.java:56)
    at com.google.apphosting.runtime.ApiProxyImpl$1.run(ApiProxyImpl.java:150)
    at com.google.apphosting.runtime.ApiProxyImpl$1.run(ApiProxyImpl.java:148)
    at java.security.AccessController.doPrivileged(Native Method)

Semble qu'il a pris plus de temps que cela serait comme attendre, que puis-je faire si un site est lent ?

C'est un délai d'attente de demande, ce qui se produit après 30 secondes. Depuis URLFetch les demandes sont limitées à 10 secondes, vous devez faire plus que juste cet appel. Que faites-vous?
Oui, je recevais contenu de la page à partir de 6 catégories et de voir où mon NMJava est classé, il a pris plus de temps qu'il passe à travers chaque page pour trouver le nom NMJava et calcule où il se place au dessus de tous.
Avez-vous envisagé d'utiliser asynchrone URLFetch? Qui va vous permettre de faire toutes les demandes en parallèle.
"asynchrone URLFetch" ? Comment le faire, tout exemple de code ?
code.google.com/appengine/docs/java/javadoc/com/google/...

OriginalL'auteur Frank | 2011-09-07