Obtener la respuesta de formulario más reciente a veces obtiene la respuesta anterior

Me pregunto si esto tiene que ver con tiempos particularmente ocupados para el Script de Google Apps, porque parece que tiene que ver con un retraso (ocasional) en la actualización de la longitud de una matriz formResponse []. Estoy usando el siguiente código para obtener la última respuesta activada por un formulario enviado:

var form = FormApp.getActiveForm();
var formResponses = form.getResponses();
var formResponse = formResponses[formResponses.length-1]; //latest response only
Logger.log('begin length: ' + formResponses.length);

Luego, el resto de mi script interactúa con las respuestas en la matriz formResponse []. De vez en cuando, me doy cuenta de que ha recibido la respuesta.antes de La última respuesta. Puedo verificar esto porque la hoja de cálculo con las respuestas del formulario muestra la última respuesta real. Mi script tarda de 5 a 15 segundos en ejecutarse, así que tengo las siguientes líneas al final de mi código para volver a verificar la longitud de la matriz de nuevo:

var form2 = FormApp.getActiveForm();
var formResponses2 = form2.getResponses();
Logger.log('end length: ' + formResponses2.length);

y en el registro notaré que el segundo es mayor que el primero (y el segundo es el valor correcto). Realmente no he encontrado mucho patrón en cuanto a cuándo sucede, pero parece suceder más a menudo entre las horas de 7-9 a.m. PST. Por ahora he añadido unUtilities.sleep(5000) como la primera línea en la función para dar tiempo a que se actualice el formulario antes de que reciba las respuestas, y hasta ahora no he tenido ninguna respuesta n-2, lo que me hace pensar que hay algún tipo de retraso que hace que se grabe el formulario La última respuesta después de que se desencadene el desencadenante "en formulario enviado".

¿Alguien más ha encontrado algo similar?

Respuestas a la pregunta(1)

Su respuesta a la pregunta