Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   alertas en aplicacion (https://www.clubdelphi.com/foros/showthread.php?t=94537)

IVAND 23-03-2020 20:54:37

alertas en aplicacion
 
Hola a todos , abusando como siempre de su experiencia ,

Tengo una tabla que tiene una consulta sql tiene ademas dia y hora para ejecutarse mi pregunta es si pongo un timer que se ejecute cada 5 minutos no hara que mi aplicacion consuma muchos recursos) o como sera la mejor tecnica para hacer este tipo de cosas


Muy aparte obvio de las consultas que se ejecuten cuando es el monento de hacerlo

desde ya muy agradecido

TiammatMX 24-03-2020 01:16:40

Cita:

Empezado por IVAND (Mensaje 536415)
...tiene ademas dia y hora para ejecutarse mi pregunta es si pongo un timer que se ejecute cada 5 minutos no hara que mi aplicacion consuma muchos recursos)...

Definitivamente, consumirá MUCHOS recursos..., pero podemos pensar una solución al dilema. ¿Que se ejecute la revisión al abrir el menú? ¿Al usar cierta pantalla? ¿Como finalización de operaciones de SQL de ABC's (altas, bajas, cambios)? ¿Durante el proceso de impresión (antes, durante o después)?

Posibilidades hay muchas, tú decide qué y cómo quieres que sucedan las cosas...

ASAPLTDA 24-03-2020 02:24:13

Cita:

Empezado por IVAND (Mensaje 536415)
Hola a todos , abusando como siempre de su experiencia ,

Tengo una tabla que tiene una consulta sql tiene ademas dia y hora para ejecutarse mi pregunta es si pongo un timer que se ejecute cada 5 minutos no hara que mi aplicacion consuma muchos recursos) o como sera la mejor tecnica para hacer este tipo de cosas


Muy aparte obvio de las consultas que se ejecuten cuando es el monento de hacerlo

desde ya muy agradecido

si usas firebird puedes usar alert , en sqlserver tambien se puede hacer pero no recuerdo el nombre , la base de datos informa al programa que hubo cambio en la base y se procedes a hacer los procesos requeridos o como dice el companero colocas una opcion en el menu, ahora si es indispensable ejecuta la consulta cada 5 minutos y mira que carga tiene de procesador aunque no creo que sea tampoco tanto a menos que tengas miles de registros

Neftali [Germán.Estévez] 24-03-2020 13:13:53

Cita:

Empezado por IVAND (Mensaje 536415)
Tengo una tabla que tiene una consulta sql tiene ademas dia y hora para ejecutarse mi pregunta es si pongo un timer que se ejecute cada 5 minutos no hara que mi aplicacion consuma muchos recursos) o como sera la mejor tecnica para hacer este tipo de cosas

Si tienes una tabla con Alertas definidas un derminado día y una hora, no hay otra forma de hacerlo que realizando pooling.
No creo que una consulta cada 5 minitos (si está optimizada) consuma mucho recursos, otra cosa sería que me dijestas que es cada 5 segundos, en ese caso te diría de replantearlo...

Cita:

Empezado por ASAPLTDA (Mensaje 536418)
si usas firebird puedes usar alert , en sqlserver tambien se puede hacer pero no recuerdo el nombre , la base de datos informa al programa que hubo cambio en la base y se procedes a hacer los procesos requeridos o como dice el companero colocas una opcion en el menu, ahora si es indispensable ejecuta la consulta cada 5 minutos y mira que carga tiene de procesador aunque no creo que sea tampoco tanto a menos que tengas miles de registros

Eso son eventos de la Base de Datos. En SQL Server se llaman Query Notifications (los tienes explicados aquí https://neftali.clubdelphi.com/event...notifications/), pero eso hace que la Base de Datos te comunique cuando hay un cambio.
Este caso, por lo que entiendo no es así, sino que la tabla de "citas" o "agenda" tiene almacenados registros que hay que "consultar" constantemente independientemente de que tenga cambios o no, para ver si alguno coincide con la hora actual.

Se me ocurren formas de optimizarlo, usando los eventos, pero el costo lo ve demasiado grande en relación al beneficio obtenido.
Yo creo que 1 consulta cada 5 min. con una tráfico de datos de apenas unos bytes es irrelevante para un servidor de Bases de Datos actual.

IVAND 25-03-2020 01:15:41

Como siempre gracias a todos por su tiempo

Si las consultas son realmente de maximo unos 30 registros como maximo en unas 15 alertas y el tiempo puedo aumentarle hasta 30 minutos , creo que como dicen los companeros no sera muy pesado , gracias por sus observaciones


La franja horaria es GMT +2. Ahora son las 18:15:16.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi