Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   PHP (https://www.clubdelphi.com/foros/forumdisplay.php?f=15)
-   -   Autocargar página periodicamente (https://www.clubdelphi.com/foros/showthread.php?t=39433)

mieltxo 19-01-2007 16:15:47

Autocargar página periodicamente
 
Buenas tardes,

Quisiera cargar una página php periodicamente sin estar situado en ella, es decir, que me cargue una página concreta cada X tiempo desde otro enlace (pero sin llevarme al link de la pagina que quiero cargar).

Y aun mejor, si podría programar que la página auto-cargara pero desde ningún link..

El fin es poder cargar periodicamente una página sin intervención del usuario

¿Alguien tiene idea de como podría hacerlo? Gracias y un saludo

dec 19-01-2007 16:31:02

Hola,

Según lo entiendo no hace falta PHP, sino que JavaScript te puede ayudar. Incluso una meta etiqueta de HTML acaso podría ser suficiente:

Código:

<META HTTP-EQUIV="Refresh" CONTENT="60">
Esa meta etiqueta hará que la página que la contenga se actualize (recarge) cada 60 segundos.

mieltxo 25-01-2007 16:28:07

Hola dec, gracias por tu interés..

Eso no me ayuda demasiado, lo que querría es que sin tener que incluir codigo en ninguna página, pudiera configurar de algun modo que una página se cargara de forma automatica cada X tiempo. (No se si el apache permite algún tipo de configuración).

dec 26-01-2007 03:56:01

Hola,

A ver... yo creo que más bien estás queriendo ejecutar un Script PHP que cargar una página Web. Según lo poco que sé de este tema el asunto es que si quieres hacerlo contando "sólo con PHP" necesitarás simular el comportamiento de un programa del tipo "Cron" (de cronógrafo) que existe en Linux y no nos engañemos... nunca utilizé.

El caso es que para lo que nos interesa en PHP el asunto está basado en las peticiones al Servidor. Es decir, cada vez que se hace una petición a nuestro Servidor (más concretamente cada vez que se solicita una determinada página Web) hemos de encargarnos de ejecutar el Script PHP que simule el comportamiento del mencionado programa "Cron", es decir, un Script PHP que se encargue de revisar si hay "tareas pendientes" y de ejecutar dichas tareas si fuera preciso.

Hay alguna función como "ignore_user_abort" que puede serte de utilidad. Esta función en concreto permite que un Script siga ejecutándose (en segundo plano) incluso si el usuario "aborta" la carga de una determinada página. Ahora bien, esto parece aplicarse a Scripts que produzcan salida al cliente, y me explicaré.

El "cron.php" conque cuenta el proyecto WordPress utiliza la función mencionada para continuar la ejecución de dicho Script ("cron.php") incluso cuando el usuario cancele la carga de la página Web de marras. Pero, ¿de qué página Web hablamos? Pues de la que solicitase dentro del proyecto WordPress.

Lo que ocurre es que cuando cargas la página principal del proyecto (ya sabes que es un sistema de Blogs, pues vale decir cuando solicitas la portada del Blog) el sistema incluye (según va preparando la salida de la petición) el Script PHP "cron.php", de tal modo que comprueba en el mismo si hay tareas que llevar a cabo, y hacerlo, si fuera preciso, y seguir haciéndolo incluso si el usuario cancela la petición: la portada del Blog tal vez no termine de conformarse, pero, según entiendo el Script "cron.php" seguirá ejecutándose en el Servidor.

Otra forma sería utilizar el propio programa "Cron" o unas llamadas "Cron Task" que algunos Servidores tienen habilitado. Lo digo porque todo lo anterior entra dentro del "bueno es el pan si no hay tortas" o dicho de otro modo, puede que tenga algunas limitaciones, pero, es una posible solución que en muchos casos puede ser útil.

Una de las limitaciones que yo en mi ignorancia de este tema creo ver es qué ocurriría si no se realizan peticiones al Servidor en, digamos, un mes. Si no se realizan peticiones no se prepará el Script "cron.php" y ¡las tareas pendientes no se ejecutarán!

Bien. Pero lo cierto es que también puede pensarse de otro modo: si no se realizan peticiones, y las tareas están intrínsecamente relacionadas con el funcionamiento del sistema, es que no hace falta realizar tareas, porque el sistema puede considerarse "parado", "en suspensión", esperando nuevas peticiones.

Por ejemplo. Considerando que quisiéramos realizar un "backup" de la base de datos de nuestra aplicación todas las noches, podría pensarse que la cosa no funcionaría bien si una noche no se ejecuta el "backup" (porque no hay peticiones), pero, si no hay peticiones... ¿qué ha cambiado para tener que guardarlo, para hacer el "backup"?

Y así puede ser que la solución que se usa en WordPress y Drupal, entre otros (estoy seguro) conocidos sistemas escritos con PHP, no sea un "Cron" en toda regla, pero, puede hacer su apaño y de hecho lo está haciendo. Ahora, lo que no sé es si con esto te doy alguna idea o si estoy desbarrando completamente. :)

mieltxo 06-02-2007 16:25:48

Muchas gracias dec! Parece algo enveresado pero cuando investigue un poco ya os diré si encontre la solucion!

Salu2


La franja horaria es GMT +2. Ahora son las 18:59:53.

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