App Engine Python UrlFetch.set_default_fetch_deadline

He revisado los documentos aquí: https://cloud.google.com/appengine/docs/python/urlfetch/ y aquí: https://cloud.google.com/appengine/articles/deadlineexceedederrors?hl=es

También encontré esta pregunta de desbordamiento de stack que se relaciona con mi pregunta: ¿Cómo configurar el tiempo de espera para urlfetch en Google App Engine?

Me estoy conectando desde mi aplicación de motor de aplicación a un servicio web externo, sobre el que no tengo control. A veces las solicitudes tardan más de 60 segundos. Configuré mi aplicación para usar la api de la cola de tareas del motor de aplicaciones diferidas.

Estoy muy confundido. En los documentos que he leído, parece que urlfetch tiene un plazo máximo de 60 segundos. ¿Pero si se está ejecutando en una task_queue son 10 minutos? Realmente necesito a alguien que me aclare esto.

¿Eso significa que la tarea tiene 10 minutos para completar, pero el urlfetch dentro de la tarea todavía está limitado a los 60 segundos?

    Pseudocódigo

    myTask = newTask() deffered.defer(myTask.long_process, _queue="myqueue") class newTask: url = "https://example.com" def long_process(self): #will setting the deadline to more than 60 seconds work or not? urlfetch.set_default_fetch_deadline(120) data = {} resp = urlfetch.fetch(self.url, method="POST", payload=data) #do something with resp.... 

    Estás en el camino correcto. Corrección minúscula: no hay un máximo de 60s para urlfetch.set_default_fetch_deadline (), es posible que el contexto de la discusión lo haya engañado.

    Puede boost el valor de 120 hasta 600 ; consulte el comentario del OP a la respuesta seleccionada en esta reciente sesión de preguntas y respuestas: La tarea de Appengine se ejecuta durante 5 segundos antes de lanzar DeadlineExceededError

    Puede controlar tanto el plazo de entrega de URL como el de la tarea aplazada.

    Ambos pueden funcionar hasta 600 AFAIK.

    Lo único que no debes hacer es establecer el plazo de urfetch en un valor más alto que la tarea;)