Hola quiero hacer que cuando se cambie un valor de una fila esta se borre después de algún tiempo, por ejemplo después de una semana.
Como?
| ||||
Respuesta: Borrar registros despues de tiempo Cita: Hola, se que es un cronjob pero se pueden crear cronjobs pues cuando el usuario cambie el valor del registro ya que si no, pense en crear uno que se ejecute en un dia de la semana y comprueba la fecha pero puede que si el dia que se comprueba es lunes y el usuario cambio el valor en sabado, no habria pasado el tiempo si es por ejemplo 1 semana.Lo del trigger no se que es?? |
| ||||
Respuesta: Borrar registros despues de tiempo Cita: http://dev.mysql.com/doc/refman/5.0/...e-trigger.htmlLo del trigger no se que es?? Creo que ahi te quedara muy claro que es y para que sirve. A mi me parece buena idea para lo que quieres hacer.
__________________ Blog de humor http://elcuasatar.net63.net/ |
| ||||
Respuesta: Borrar registros despues de tiempo Cita: Gracias, ya se lo que es pero creo que tampoco me sirve ya que se activa cuando el usuario cambie el valor del registro y no después de algún tiempo. Por lo menos al leer lo de esto me entere.
Iniciado por cuasatar http://dev.mysql.com/doc/refman/5.0/...e-trigger.html Creo que ahi te quedara muy claro que es y para que sirve. A mi me parece buena idea para lo que quieres hacer. Voy a decir mas claro lo que quiero hacer. Un ejemplo: Hay una pagina web en forma de juego en la que puedes comprar items para tiempo. Cuando el usuario compra un item que es para una semana . Después de esta semana que desaparezca. Como? |
| |||
Respuesta: Borrar registros despues de tiempo Pues yo creo que con triggers puedes hacer algo, el tema es como lo enfocas. Cada vez que se logea el usuario por ejemplo se puede comprobar que los objetos no han caducado. Si se modifica la fecha de la compra la comprobacion sera la misma ya que se esta comprobando cuando el usuario se logea. No conozco en profundidad mysql pero estoy viendo que existen por ejemplo los eventos: [URL="http://dev.mysql.com/doc/refman/5.1/en/create-event.html"]http://dev.mysql.com/doc/refman/5.1/en/create-event.html[/URL] Quizas te pueda servir de algo. Saludos. Última edición por jarios; 12/05/2013 a las 07:41 Razón: No me reconoce el link |
| ||||
Respuesta: Borrar registros despues de tiempo Cita:
Iniciado por jarios Pues yo creo que con triggers puedes hacer algo, el tema es como lo enfocas. Cada vez que se logea el usuario por ejemplo se puede comprobar que los objetos no han caducado. Si se modifica la fecha de la compra la comprobacion sera la misma ya que se esta comprobando cuando el usuario se logea. No conozco en profundidad mysql pero estoy viendo que existen por ejemplo los eventos: [URL="http://dev.mysql.com/doc/refman/5.1/en/create-event.html"]http://dev.mysql.com/doc/refman/5.1/en/create-event.html[/URL] Quizas te pueda servir de algo. Saludos. Hola esto del logueo esta bien pero si es algo que tiene que cambiar para algunos minutos. El usuario no se logueara de nuevo. Tengo que comprobar lo en cada pagina, esto seria demasiada carga o me confundo de la carga? O sea si hay 10 items cada uno con tiempo y a su vez hay otros productos o cosas para menos tiempo tendría que comprobar cada uno en cada pagina. |
| ||||
Respuesta: Borrar registros despues de tiempo Cita: Pues es que no tienes que limitar el cronjob a una vez a la semana. Si lo ejecutas a diario puedes revisar aquellos registros que tienen mas de una semana despues de haber sido modificados (usando DATEDIFF si mal no recuerdo y lo comparas con NOW). No vale la pena hacerlo cada dos o 3 horas porque no tiene sentido pero hacerlo una vez al día para tu necesidad especifica seria mas que suficiente. Igual ejecutalo en horas de la noche cuando los servidores estan "descansando" y se supone que tienen menos "trabajo".Hola, se que es un cronjob pero se pueden crear cronjobs pues cuando el usuario cambie el valor del registro ya que si no, pense en crear uno que se ejecute en un dia de la semana y comprueba la fecha pero puede que si el dia que se comprueba es lunes y el usuario cambio el valor en sabado, no habria pasado el tiempo si es por ejemplo 1 semana. Son ideas, tu escoge la que mejor se adapte a tu necesidad.
__________________ Blog de humor http://elcuasatar.net63.net/ |
| ||||
Respuesta: Borrar registros despues de tiempo Cita: Tampoco sirve ya que para 8 minutos...
Iniciado por cuasatar Pues es que no tienes que limitar el cronjob a una vez a la semana. Si lo ejecutas a diario puedes revisar aquellos registros que tienen mas de una semana despues de haber sido modificados (usando DATEDIFF si mal no recuerdo y lo comparas con NOW). No vale la pena hacerlo cada dos o 3 horas porque no tiene sentido pero hacerlo una vez al día para tu necesidad especifica seria mas que suficiente. Igual ejecutalo en horas de la noche cuando los servidores estan "descansando" y se supone que tienen menos "trabajo". Son ideas, tu escoge la que mejor se adapte a tu necesidad. Lo puedo ejecutar cada vez que el usuario entre en una pagina. Le vez algún inconveniente ? |
| |||
Respuesta: Borrar registros despues de tiempo Ya lo que planteas aqui es un problema mas de cargas como tu dices. Puedes enfocarlo desde 3 modos segun como yo lo veo: 1. O bien ejecutas una tarea minuto a minuto que compruebe la caducidad. 2. Te las apañas para que algun codigo te cree una tarea cuando se va a vencer ese periodo y si se modifica solo tendras que modificar el tiempo de ejecucion de la tarea. 3.Haces la comprobacion cada vez que se ejecuta un cambio de pagina como tu dices. Es lo que se me ocurre sobre la marcha. No sabria decirte si una u otra va a consumir mas o menos cpu lo cual es tu pregunta. Espero que el resto al menos sirva para que soluciones algo. Saludos. |
| ||||
Respuesta: Borrar registros despues de tiempo Creo que antes de continuar deberías explicar para que quieres tanta "precisión", o al menos eso das a entender para tener que estar verificando cada X minutos, tal vez lo que pretendes hacer no es necesaria tanta precisión....
__________________ Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!! -- Sheldon Cooper http://twitter.com/nemutagk PD: No contestaré temas vía mensaje personal =) |
| ||||
Respuesta: Borrar registros despues de tiempo Es ilógico lo que pretendes hacer con un lenguaje interpretado, especialmente en un servidor web, no puedes tener al servidor pendiente de una variable en una DB para que este únicamente se muestre al usuario en su interfaz, eso es derrochar recursos, ahora, no se cuantos usuarios tengas, pero llegará el momento en que los recursos del servidor no sean suficientes, si solo pretendes mostrar datos en tiempo real solo para mantener los datos visibles deberás clonar la misma lógica en javascript para tener un contador en tiempo real en el navegador sin tener al servidor trabajando de mas, cuando en verdad se vayan a utilizar esa información entonces haces que el servidor calcule lo necesario, así evitas estar gastando recursos a lo tonto, aparte, has pensado en los usuarios inactivos? tu servidor gastará recursos igual en inactivos que activos...
__________________ Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!! -- Sheldon Cooper http://twitter.com/nemutagk PD: No contestaré temas vía mensaje personal =) |
Etiquetas: |