Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

El horario de verano me afecta los store procedures

Estas en el tema de El horario de verano me afecta los store procedures en el foro de Mysql en Foros del Web. Hola. Como algunos deben saber, Argentina implementó un cambio de horario de verano desplazando el uso horario GMT -3 al GMT -2 (una cosa estúpida ...
  #1 (permalink)  
Antiguo 08/01/2008, 05:33
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Exclamación El horario de verano me afecta los store procedures

Hola.

Como algunos deben saber, Argentina implementó un cambio de horario de verano desplazando el uso horario GMT -3 al GMT -2 (una cosa estúpida porque a Argentina le pertenece en realidad el -4, que se cambió a horario de verano entre octubre/1972 y marzo/1973 y nunca se regresó al original, con lo que estamos desplazados una hora desde hace 35 años y ahora DOS HORAS ningún país hace algo tan estúpido).

Bueno, el caso es que tengo una coleccion de store procedures que verifican la duración de eventos de un diario con IDs de inicio y fin de eventos. Además existen eventos secuenciales constantes (muestreos) que usan el mismo código de ID para ser detectados.

El problema se da cuando debo establecer la duración de un evento que, por ejemplo, comienza a las 23:59:00 del l 30/12 y termina a las 00:10:00 del 31/12. como el reloj se desplaza una hora hacia adelante, el evento en vez de durar 11 minutos paasa a durar 1 hora 11 minutos.

Como si esto fuera poco, el 15/03/2008 se atrasa una hora (volviendo al GMT -3) por lo que los registros de una hora completa se solaparán indefec tiublemente, solapando posiblemente los mismos eventos para la misma hora o eventos contradictorios (detenido/funcionando, p.e.).

Como los procedimeintos realizan volcados de datos directamente a tablas, no puedo implementar la cosa vía aplicación. Tiene que hacerse en los SP.

¿Alguien ha debido implementar soluciones para casos así?
Agradecería información, algoritmos, códigos, etc. Cualquier cosa me viene bien.
  #2 (permalink)  
Antiguo 08/01/2008, 17:56
Avatar de pragone  
Fecha de Ingreso: diciembre-2007
Ubicación: Madrid
Mensajes: 223
Antigüedad: 16 años, 4 meses
Puntos: 2
Re: El horario de verano me afecta los store procedures

Puff... el cambio horario siempre es un fastidio y en el caso que comentas, por lo visto, más todavía.

Para cuando la hora atrasa, la forma de evitar que dos procesos se solapen, es implementar un semáforo (o un lock), de forma que se cree un registro en una tabla (o un archivo) que indique que el proceso ya está ejecutando y al terminar lo eliminas.

Con respecto al hueco que queda por adelantar la hora... realmente no hay mucho que hacer, simplemente depende del proceso para ver si se puede solventar el problema. En mi caso, por ejemplo, tengo unos crons que envían correos y no importa si una hora no se ejecuta... ya se pondrá al día.
Lo mejor que puedes tratar de hacer es tener algún tipo de "marca" que te indique si alguna data ya ha sido procesada... de esa forma incluso si por error ejecutas el proceso a una hora que ya se había ejecutado no haya efectos secundarios.

Disculpa lo genérica de la respuesta pero no sé exactamente a qué proceso... pero bueno, esos son los problemas que yo he encontrado y más o menos cuál ha sido mi enfoque... espero te ayude.

Si quieres (y puedes... porque a veces no se puede), danos más detalles y veremos si podemos pensar en algo al respecto.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:27.