Cita:
Empezado por Neftali [Germán.Estévez]
Reescrito quedaría así (a ver si se entiende mejor...)
Código:
Inicio sistema (no habrá nada)
...
12:00:00 Se prepara envío (como es vacio, no se envía NADA); 60 sg. de espera
12:01:00 Se prepara envío (como es vacio, no se envía NADA); 60 sg. de espera
12:01:10 Generamos factura 1
12:01:45 Generamos factura 2
12:02:00 Se prepara envío (2 facturas en el envío); 60 sg. de espera
12:03:00 Se prepara envío (como es vacio, no se envía NADA); 60 sg. de espera
12:03:10 Generamos factura 3
12:03:20 Generamos factura 4
12:03:30 Generamos factura 5
12:03:40 Generamos factura 6
12:03:50 Generamos factura 7
12:04:00 Se prepara envío (5 facturas en el envío); AEAT contesta con 120 sg. de espera
12:06:00 Se prepara envío (como es vacio, no se envía NADA); 120 sg. de espera
12:08:00 Se prepara envío (como es vacio, no se envía NADA); 120 sg. de espera
12:09:50 Generamos factura 8
12:10:00 Se prepara envío (1 factura en el envío); AEAT contesta con 60 sg. de espera
12:11:00 Se prepara envío (como es vacio, no se envía NADA); 60 sg. de espera
...
|
Nosotros lo tenemos tal cual, no cambia ni una coma
Lo único que añadiría es que cuando salta el proceso, si hay algo para enviar, paramos el timer y lo volvemos a poner en marcha cuando termina. Esto, dependiendo de cuanto tarde en enviar, puede provocar algunos "desajustes". Pongo un ejemplo:
12:00:00 Se prepara envío: como es vacío, no se envía NADA. 60 sg. de espera
12:01:00 Se prepara envío. Aparecieron 5 facturas. Preparo todo, conecto, envío, cojo la respuesta y la proceso. En la respuesta me dicen que el próximo en 60 segundos. Pero imaginemos que esto todo lleva 5 segundos. Por tanto pongo el timer nuevamente en marcha a las 12:01:05
12:02:05 Se prepara envío: como es vacío, no se envía NADA. 60 sg. de espera
Si os fijáis, del primer al segundo envío pasaron 60 segundos, pero del segundo al tercero pasaron 65. Entiendo que si hay poquitas facturas los 5 segundos que puse son exagerados pero si a lo mejor se está haciendo un proceso de facturación masivo y aparecen 90-100 facturas en ese minuto pues el proceso de envío puede llevar tranquilamente 5-10 segundos. O si internet va lento en ese momento, o si el web service tarda algo más de lo normal en responder..
Con esta manera de operar realmente no envío cada 60 segundos, sino que hay unas pequeñas variaciones. Pero bueno, como tenemos el margen de los 240 segundos por ahora no me estoy preocupando por ello.