Cita:
Empezado por ermendalenda
Hola, lo veo arriesgarl por no decir MAL, a ver, te pongo un escenario:
Envías a las 12:30:05 por que tu timer ha llegado a los 60segundos y había 1 ó 2 registros.inmed8atemente están generando un registro que se graba a las 12:30:07 que no entra en ese lote, pero es que tampoco podría entrar en wl siguiente por que no ha llegado a los 60 segundos de antigüedad, con lo cual cuando lo vayas a enviar tiene 118segundos, con lo cual ese envío tiene que estar finalizado en 2 segundos máximo, es arriesgado.
O sea, todo lo que generes después de el último envio no lo puedes enviar hasta que cumpla cada uno de ellos 60 segundos, lo siento, pero lo tienes mal.
Repasalo
Por ejemplo:
Reduce el timer a 10 segundos y mira cada registro pendiemte si ya ha cumplido los 60 segundos y metelos en el lote de envío.
|
el tiempo máximo ya no son 120 segundos, son 240 ahora mismo. yo creo que tienes tiempo de hacerlo como dice Jarogo08.
Nosotros lo hacemos de forma muy similar, el servicio tiene una tarea que salta siempre cada 60 segundos. en ese momento comprueba el valor t que contestó el último envío y la fecha del último envío. Si ya ha pasado el tiempo o si hay mas de 1000 registros, envía. sino vuelve a esperar 60 segundos y vuelve a comprobar.
Los 60 segundos de espera de nuestra tarea podría ser otro valor, por ejemplo 30... también habíamos probado con 1 segundo pero en ese caso consumía muchos recursos y no hace falta. mientras se despierte una vez cada minuto creo que ya está bien