Foros del Web » Programando para Internet » PHP »

Ejecucion programada de mi codigo en el servidor

Estas en el tema de Ejecucion programada de mi codigo en el servidor en el foro de PHP en Foros del Web. Saludos! Pues necesito porfavor me orienten en la manera de resolver esta duda que tengo con una pagina que estoy realizando. La pagina muestra los ...
  #1 (permalink)  
Antiguo 15/05/2013, 20:25
 
Fecha de Ingreso: mayo-2013
Mensajes: 35
Antigüedad: 6 años, 6 meses
Puntos: 0
Ejecucion programada de mi codigo en el servidor

Saludos!

Pues necesito porfavor me orienten en la manera de resolver esta duda que tengo con una pagina que estoy realizando.

La pagina muestra los 10 temas (trending topics) mas populares de una region, esto atraves de un api de twitter, hasta alli bien, pues con PHP realice una funcion que imprime en una tabla los temas ordenadamente. Pero quize ir mas alla, y poder colocar a un lado de cada tema si habia subido o bajado de posicion esto cada dos minutos, es decir colocar una flecha indicadora hacia arriba, hacia abajo segun sea el caso, tambien si se mantenia pues dejaba un simbolo de igual. Para ello hice una base de datos para guardar los "top 10" de un momento y luego que pasasen 2 minutos o si refresco la pagina mi programa compara los 10 temas enviados por twitter con los 10 temas que guarde hace unos minutos, luego de compararlos con un codigo php y jugando con los arreglos pude hacer los mostrar los cambios en las posiciones para entonces guardar esta nueva lista para ser comparada con la proxima y asi sucesivamente, hasta aqui bien, ahora:

En vista de que es una pagina web que va a ser visitada por n cantidad de personas, el problema esta en que como esta hecho el codigo, cada vez que una persona ingrese, y solo mire la informacion ya esta actualizando la base de datos con los top 10 de ese preciso instante, y otra persona mientras hace lo mismo por otro lado, si hay mucha gente entrando en ese momento pues practicamente la tabla que tengo en mi base de datos va a estar actualizada al momento y ya no me sirve para comparar, porque se supone cuando estaba yo solo, pues la usaba de referencia como una tabla pasada de hace unos minutos y comparaba la nueva informacion con esa, me explico?

Necesito orientacion en esto, pues pensando rapidamente puedo preguntar si hay alguna forma de mantener la ejecucion programada de cada 5 minutos de mi codigo en el server, y que cada persona que entre a la pagina solo vea la informacion (en este caso elimino los modulos de conexion con la base de datos para que no puedan modificarla. Entonces que cada 5 minutos mis paginas php se ejecuten en el servidor para actualizar....y claro los usuarios solo vean la informacion cuando entren.

Gracias!
  #2 (permalink)  
Antiguo 16/05/2013, 05:19
Avatar de veniwarez  
Fecha de Ingreso: julio-2010
Mensajes: 110
Antigüedad: 9 años, 4 meses
Puntos: 3
Respuesta: Ejecucion programada de mi codigo en el servidor

Hmm creo que para que se ejecute algo automaticamente hay una manera de hacerlo pero no recuerdo aunque creo que tiene que ser una configuración del servidor, otra opcion que tienes es que guardes en algun sitio la fecha y hora de la ultima actualizacion y en caso de que un usuario ontre mas tarde de 5 minutos por ejemplo de la ultima actualización, llamar a los ficheros que actualizan, o sea usar a los usuarios para llamar a las actualizaciones.

Espero sirva

Atte VW
  #3 (permalink)  
Antiguo 16/05/2013, 05:25
pr0
 
Fecha de Ingreso: marzo-2004
Mensajes: 687
Antigüedad: 15 años, 8 meses
Puntos: 28
Respuesta: Ejecucion programada de mi codigo en el servidor

¿Y para que guardas los 10 temas en una tabla?

Piensalo, no es necesario guardar nada puesto que con la api de twitter puedes pedirlos las veces que quieras.

Lo que necesitas es implementar AJAX para hacer posteriores peticiones a la api de twitter cada X minutos y comparar con lo que ya tienes.
  #4 (permalink)  
Antiguo 16/05/2013, 19:34
 
Fecha de Ingreso: mayo-2013
Mensajes: 35
Antigüedad: 6 años, 6 meses
Puntos: 0
Respuesta: Ejecucion programada de mi codigo en el servidor

Hola, bueno ya resolvi una parte, el usuario no actualiza, lo hago yo con un codigo php aparte, ya lo he probado y va muy bien por Wampserver. Ahora para mantener mi base de datos actualizada necesito ejecutar ese php cada cierto tiempo, como lo programo en el servidor?
  #5 (permalink)  
Antiguo 16/05/2013, 20:31
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 15 años, 8 meses
Puntos: 406
Respuesta: Ejecucion programada de mi codigo en el servidor

Para eso se usa cron-jobs o tareas programadas (según el SO del servidor), y bueno, para eso es mejor que el archivo que recupera los trending topics solo sea ejecutado por el servidor (cron-jobs) y no por usuarios, así para que sepas que posición tiene (si ah subido o bajado de posición) y evitar estrazar innecesariamente el servidor de la DB...
__________________
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 =)
  #6 (permalink)  
Antiguo 17/05/2013, 08:15
Avatar de veniwarez  
Fecha de Ingreso: julio-2010
Mensajes: 110
Antigüedad: 9 años, 4 meses
Puntos: 3
Respuesta: Ejecucion programada de mi codigo en el servidor

Si tienes ya el archivo php que funciona porque no hacer que lo activen los usuarios que entren? Así estará preparado para los siguientes usuarios.
Creo yo.

Atte VW
  #7 (permalink)  
Antiguo 17/05/2013, 23:07
 
Fecha de Ingreso: mayo-2013
Mensajes: 35
Antigüedad: 6 años, 6 meses
Puntos: 0
Respuesta: Ejecucion programada de mi codigo en el servidor

veniwarez es mejor creo yo actualizar cada cierto tiempo con un programa interno, y que los usuarios vean los trend actualizados, pero para yo poder mostrar si cierto trend ha subido o bajado de posiciones, pues comparo con lo que tengo guardado..... no se si me explico, un ejempo seria,

mi base de datos se actualiza de 6to lugar esta el trend: ChelseaCampeon.
a los dos minutos siguientes un usuario entra y al ver la pagina principal aparece de 5to lugar: ChelseaCampeon. con una flechita verde hacia arriba.
para conseguir esa flechita solo compare esa posicion nueva y mas actualizada con la que tenia en la base de datos.

es preferible que yo haga esa actualizacion y no los usuarios pues las comparaciones no serian adecuadas

Hablando del tema alguno sabe como manejar las Stream API de twitter dev??

Etiquetas: ejecucion, servidor, tabla, usuarios
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 22:44.