Ver Mensaje Individual
  #20 (permalink)  
Antiguo 23/01/2006, 20:28
Avatar de dopon
dopon
 
Fecha de Ingreso: julio-2005
Ubicación: Cucuta / Colombia
Mensajes: 493
Antigüedad: 18 años, 9 meses
Puntos: 1
Cita:
Iniciado por akalon
En javascript si puede hacerse esto que pedimos?
Estupendo como se hace? (Teniendo en cuenta que lo que queremos es que esta acción se haga siempre, aun cuando los usuarios no están conectados)

De momento estoy usando apache y trabajando en localhost, aún no entiendo muy bien el tema este de los servidores...

En cuanto a mi juego, es un simulador de un pais actual. Ya hay varios por ahí circulando de ese tema y bastante buenos pero para ir aprenieno me vale
De qué va el tuyo?

Gracias y saludos!
Haber primero que todo la solucion mas sencilla para lo que tu desea es usar un CronTab o Cron Job como lo dices y efectivamente es en linux .

Si no tienes acceso a eso o simplemente deseas buscar una forma que puede solucionar ese problema ;) realmente muchos scripts necesitan actualizarce cada X tiempo y a veces es engorroso pedirle al webmaster que efectue unas modificacione para crear un Cron Job. No solo porque a veces este tipo de scripts son provistos para personas con bajos conocimientos en informatica (p ej un Mod para PhpBB) o simpleemente para crear un script que pueda ser utilizado sin las limitantes de tener o no un CronTab habilitado.

Tu dices que la accion se haga siempre y cuando los usuarios no esten conectados. Y lastimosamente la solucion para eso es un cron Tab , una solucion bastante drastica seria un script que se llame a si mismo osea infinitamente recursivo , que lo corras una vez y quede en un bule infinito , cosa ilogica y utopica ya que tu server tiene un tiempo maximo de jecucion.

Una solucion que aunque aparentemente no satisface la condicion , funcionara muy bien si lo analizas.

Si los datos de los usuarios que van a ser actualizados por ejemplo son exclusivamente vistos en una tabal de ranking por ejemplo o solo son vistspor usuarios registrados. Lo que debes hacer es un script que haga todas las actualizaciones lo llamaremos update.php,

supongamos que las actualizaciones se hacen cada Hora en algun lugar de tu DB o en un archivo plano (opcion recomendada) que me sirva para cuardar un unico dato un timetstamp.

Bien y como haremos que funcione cada HOra. En realidad no se ejecutara cada hora pero si cumplira con la funcion especifica .

El proceso es el siguiente. el campo en la DB o archivo plano guardara el timestamp de e momento en que se realizo la ultima actualizacion . en update.php debe ir una funcion de control mediante la cual cuando update.php se ejecute mire el time()actual y observe si ya esta fuera del espacio de la hora de la ultima actualizacion haga la actualizacion inmediatamente al instante.
Preguntaras cuando se ejecuta update.php ?
la ejecucion de update.php debes tratar de ubicarlo en un lugar de forma que sepas que un usuario al visitar tu web obligatoriamente va a llamarlo. La actualizacion no se ejecutara siempre , para eso se debe hacer un control mirando el timestamp de la ultima actualizacion.

Vos diras Bueno pero no me sirve porque si no hay usuarios conectados , nunca nadie hara que el update.php se ejecute. esto es cierto. pero dejame responderte con otra pregunta. Si nadie esta en tu sitio web de que te sirve actualizarlos si NADIE va a verlos asi que es una opcion viable, espero haberme hecho entender , yo ya la he puesto en practica y hace lo que debe hacer . no lo hara cada hora pero si funcionara como si lo hiciera