Foros del Web » Programación para mayores de 30 ;) » .NET »

Para q me den ideas

Estas en el tema de Para q me den ideas en el foro de .NET en Foros del Web. Buenas, Pues tengo un problema y no se como solucionarlo, tengo una aplicación que cada 5 min hace un polling, pues bien, ahora he establecido ...
  #1 (permalink)  
Antiguo 27/03/2006, 04:26
 
Fecha de Ingreso: diciembre-2003
Mensajes: 288
Antigüedad: 20 años, 4 meses
Puntos: 0
Para q me den ideas

Buenas,

Pues tengo un problema y no se como solucionarlo, tengo una aplicación que cada 5 min hace un polling, pues bien, ahora he establecido unas franjas horarias que son:

0:00:00-8:00:00 (NOCHE)
8:00:01-16:00:00 (MAÑANA)
16:00:01-23:59:59(TARDE)

Entonces cuando sea la PRIMERA lectura del pooling en una de estas franjas horarias pues debo guardar unos campos en un tabla de historicos, el problema es que no se como hacerlo, ya que por ejemplo habia pensado hacerlo cuando pase de una de las horas, por ejemplo las 8:00:01, pero entonces me guardaría todas..., tb habia pensado que como en una hora tenemos 12 veces 5 minutos tirar por ahí, pero esto tampoco me es factible debido que el polling se puede cambiar a disposicion del usuario, y claro el ordenador se puede "enchufar" a las 13:30 del medio dia y entonces ya no serian 12 veces, alguna idea?¿

GRACIAS
  #2 (permalink)  
Antiguo 27/03/2006, 10:07
Avatar de Scour  
Fecha de Ingreso: octubre-2003
Ubicación: Murcia (España)
Mensajes: 94
Antigüedad: 20 años, 6 meses
Puntos: 0
No se si he entendido bien, quieres que cada x tiempo se inserte una información en unas tablas, y también en un histórico... (o eso interpreto)...

Si es eso no te compliques la vida, haz un Procedimiento Almacenado que te inserte/actualice tanto en las tablas 'normales' como en el histórico...

Si por motivos X tienes que insertar en el histórico cada Y tiempo y no cada 2x3, te recomiento que en las tablas normales pongas un campo fecha, si es que no lo tienes, y ejecutes un procedimiento que actualice el histórico where fecha > Y1 and fecha < Y2

Si quieres que se pase esa información al histórico sin que el usuario tenga que interactuar, lo mejor es que hagas un servicio windows (demonio para los amigos) que ejecute el procedimiento almacenado a unas horas concretas, que incluso puede ser configurable a través del app.config

Eso si, si el usuario apaga el ordenador no hay narices a meter nada en ninguna parte... :P

Saludos.
  #3 (permalink)  
Antiguo 27/03/2006, 15:04
 
Fecha de Ingreso: diciembre-2003
Mensajes: 288
Antigüedad: 20 años, 4 meses
Puntos: 0
gracias por tu respuesta, pero el problema es que debe hacerse desde el programa, ya que aunque sea transparente para el usuario no debe serlo para el programador, y no se cuando se va a ejecutar, sino que es la PRIMERA lectura de cada franja horaria, eso implica que para la franja de MAÑANA tanto puede ser a las 8:00:01 como a las 8:05:00

Gracias
  #4 (permalink)  
Antiguo 28/03/2006, 05:29
Avatar de Scour  
Fecha de Ingreso: octubre-2003
Ubicación: Murcia (España)
Mensajes: 94
Antigüedad: 20 años, 6 meses
Puntos: 0
Bueno, pones 3 variables booleanas públicas a false:

Código:
Public Manana as boolean = False
Public Tarde as boolean = False
Public Noche as boolean = False
Cuando entres en la franja horaria de Mañana haces el primer insert en las tablas normales o lo que tengas que hacer, y a continuación preguntas:

Código:
if Manana = false then
    'Haces el insert en el histórico
    Manana = True
end if
Y con eso, después del primer insert ya no volverá a entrar, cuando entres al horario de tarde, vuelves a poner la variable de Manana = False, es decir, en cada franja horaria inicializas las variables booleanas de las otras 2 franjas horarias a false, de modo que cuando entre en ellas se ejecute el primer insert en histórico, y cuando haga el primer insert la pones a true y no la volverá a ejecutar hasta el día siguiente...

Con eso te olvidas de la hora que sea, si está dentro de la franja horaria y aún no ha hecho ningún insert en histórico, lo hará, sino no...

saludos.
  #5 (permalink)  
Antiguo 28/03/2006, 23:53
 
Fecha de Ingreso: diciembre-2003
Mensajes: 288
Antigüedad: 20 años, 4 meses
Puntos: 0
Scour perdona por contestar tarde pero he estado fuera, pues la verdad que lo solucioné de una forma bastante parecida, con un vector de tres posiciones, y una vble. boleana, cada vez que estaba dentro de la misma franja horaria la posición del vector que corresponde se hiba incrementando, de esta forma lo comparabá con 1, si era más grande pues ya no insertaba y cuando cambiaba de franja las posiciones que no las correspondia pues las ponia a 0

Saludos
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 03:15.