Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problema con Cronjob

Estas en el tema de Problema con Cronjob en el foro de PHP en Foros del Web. Hola a todos. Estoy haciendo una web en la que tengo que ejecutar un Cronjob. Este Cronjob sólo contiene un Código PHP: echo  "hola" ;  ...
  #1 (permalink)  
Antiguo 08/01/2015, 07:22
Musiker
Invitado
 
Mensajes: n/a
Puntos:
Problema con Cronjob

Hola a todos.

Estoy haciendo una web en la que tengo que ejecutar un Cronjob. Este Cronjob sólo contiene un
Código PHP:
echo "hola"
porque es sólo una prueba. Se ejecuta sin problema cada "x" horas, minutos, etc, hasta ahí no hay problema. El problema viene cuando intento que aparezca ese "hola" en la página web, pero no aparece. Sólo aparece el index.php que contiene otra cosa.

Resumiendo un poco: ¿por qué no aparece el "hola" en la web, y sin embargo, sí se ejecuta correctamente el archivo en el plazo de tiempo que especifiqué? (recibo un mail cada vez que se ejecuta el archivo, por eso sé que se ejecuta.

Saludos y gracias por adelantado :)
  #2 (permalink)  
Antiguo 08/01/2015, 08:56
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 11 años, 4 meses
Puntos: 379
Respuesta: Problema con Cronjob

Los cronjob son procesos diferentes y la idea es de que hagan procesos que no dependan de la ejecución de la aplicación mediante un navegador.
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #3 (permalink)  
Antiguo 08/01/2015, 09:10
Musiker
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con Cronjob

Gracias por la respuesta, hhs. ¿Habría entonces alguna manera de que saliera por pantalla, dentro de mi web la ejecución de ese cronjob, o simplemente no sería posible?

Cita:
Iniciado por hhs Ver Mensaje
Los cronjob son procesos diferentes y la idea es de que hagan procesos que no dependan de la ejecución de la aplicación mediante un navegador.
  #4 (permalink)  
Antiguo 08/01/2015, 09:18
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años, 7 meses
Puntos: 326
Respuesta: Problema con Cronjob

Podría...

En este caso no tiene mucho sentido, pero bueno.

Lo suyo sería, o que bien que el cron job hiciese una redireccion de la salida a un fichero, y luego cargases ese fichero desde el index / sitio que quieras verlo, o bien q guarde la salida en la bbdd, y la muestras...
__________________
>> Eleazan's Source
>> @Eleazan
  #5 (permalink)  
Antiguo 08/01/2015, 12:55
Musiker
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con Cronjob

Gracias por la respuesta, Eleazan. Pero me he encontrado que siempre se ejecuta el contenido del cron, cuando lo llamo desde el index.php, independientemente de que se ejecute o no se ejecute el cron. Es decir, en el index tengo esto:

Index.php:

Código PHP:
.............
.........
........
require(
'cron.php')
.........
......... 
y el Cron.php contiene:

Código PHP:
echo "hola"
Pues bien, al ejecutar mi web, el cron sigue sin aparecer en pantalla. Sólo aparece el contenido del archivo Cron.php, ya que lo estoy llamando con require en el index. Lo que necesitaría es que se imprimera por pantalla el "hola" solamente cuando ejecuto el cron cada "x" tiempo. ¿Alguna ayuda? Gracias por adelantado :) y espero que se me haya comprendido.


Cita:
Iniciado por Eleazan Ver Mensaje
Podría...

En este caso no tiene mucho sentido, pero bueno.

Lo suyo sería, o que bien que el cron job hiciese una redireccion de la salida a un fichero, y luego cargases ese fichero desde el index / sitio que quieras verlo, o bien q guarde la salida en la bbdd, y la muestras...
  #6 (permalink)  
Antiguo 08/01/2015, 13:59
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 6 meses
Puntos: 528
Respuesta: Problema con Cronjob

Si aclaras la finalidad de lo que pretendes, se te podría ayudar mejor.

El caso es que ejecutar un script php desde un cronjob es crear una nueva instancia, una ejecución completamente independiente de todo lo demás.

Imagina el caso en que tienes x cantidad personas en tu web, y mientras estas personas hacen cualquier actividad, el cron ejecuta algo, puede ser mandar un email, calcular un dato, etc. las personas que estén en tu web no tienen por qué enterarse siquiera que hay un proceso iniciado por cron.

Si lo que quieres es que cuando alguien visite tu sitio o sistema les aparezca un mensaje sin tener que ir al enlace directamente, puedes hacerlo por ajax, leyendo cada cierto tiempo si hay un mensaje nuevo que poner. Pero necesitas dar más datos.
  #7 (permalink)  
Antiguo 08/01/2015, 14:13
Musiker
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con Cronjob

Hola, muchísimas gracias por la pronta respuesta, ocp001a. Bueno, la finalidad del Cron es que se ejecute en una de las "divisiones" de html de la página principal de la web. Es decir, en una tabla de html.

Lo que hará el Cron es mostrar un select de otras 2 tablas de mysql existentes. Por ejemplo, hay tabla1 en mysql y tabla 2.... el cron hará un select de las tablas anteriores y formará una tabla3. Y esa tabla3 se verá en una parte de la web principal. A un lado, concretamente. El cron se ejecutará un día concreto del mes y será visible por los usuarios. Por eso me gustaría que el contenido del cron pudiera mostrarse en la web principal :)

Cita:
Iniciado por ocp001a Ver Mensaje
Si aclaras la finalidad de lo que pretendes, se te podría ayudar mejor.

El caso es que ejecutar un script php desde un cronjob es crear una nueva instancia, una ejecución completamente independiente de todo lo demás.

Imagina el caso en que tienes x cantidad personas en tu web, y mientras estas personas hacen cualquier actividad, el cron ejecuta algo, puede ser mandar un email, calcular un dato, etc. las personas que estén en tu web no tienen por qué enterarse siquiera que hay un proceso iniciado por cron.

Si lo que quieres es que cuando alguien visite tu sitio o sistema les aparezca un mensaje sin tener que ir al enlace directamente, puedes hacerlo por ajax, leyendo cada cierto tiempo si hay un mensaje nuevo que poner. Pero necesitas dar más datos.
  #8 (permalink)  
Antiguo 09/01/2015, 03:36
Musiker
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con Cronjob

¿Alguna idea más, please?

Cita:
Iniciado por Musiker Ver Mensaje
Hola, muchísimas gracias por la pronta respuesta, ocp001a. Bueno, la finalidad del Cron es que se ejecute en una de las "divisiones" de html de la página principal de la web. Es decir, en una tabla de html.

Lo que hará el Cron es mostrar un select de otras 2 tablas de mysql existentes. Por ejemplo, hay tabla1 en mysql y tabla 2.... el cron hará un select de las tablas anteriores y formará una tabla3. Y esa tabla3 se verá en una parte de la web principal. A un lado, concretamente. El cron se ejecutará un día concreto del mes y será visible por los usuarios. Por eso me gustaría que el contenido del cron pudiera mostrarse en la web principal :)
  #9 (permalink)  
Antiguo 09/01/2015, 03:55
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años, 7 meses
Puntos: 326
Respuesta: Problema con Cronjob

Voy a intentar exponer lo q he entendido.

Tienes dos tablas, tabla1 y tabla2.
Quieres, que cierto dia a cierta hora, se te genere una tabla3.

Y quieres que tu index muestre esa tabla 3. ¿Cierto?

Si esto es afirmativo, el cron no tiene q mostrar nada. Simplemente, en tu index muestras esa tabla3 (si existe)... y el cron, cuando se ejecute, que actualice esos datos. Eso hará que en tu index se actualice esa tabla ;)

Saludos!
__________________
>> Eleazan's Source
>> @Eleazan
  #10 (permalink)  
Antiguo 09/01/2015, 11:00
 
Fecha de Ingreso: abril-2003
Ubicación: Mexico
Mensajes: 604
Antigüedad: 21 años, 7 meses
Puntos: 23
Respuesta: Problema con Cronjob

Buenas...
pues como lo estoy entendiendo tienes totalmente confundido los conceptos, el cron como ya te dijeron no va a presentar nada JAMAS en la pagina html porque no se esta ejecutando continuamente y si entro en un segundo antes o despues de su ejecucion simplemente no hace nada.
mas bien te recomiendo que cambies tu idea de programacion, me refiero que en lugar de usar un cron, crearas un script que mediante el calculo de los dias,horas y minutos, realice esa presentacion cada vez que alguien lo consulte.

ejemplo 1:
toma el dia, hora y minuto del sistema
hace el calculo del tiempo que hayas puesto como condicion
si se cumple la condicion
presenta la informacion del calculo de las tablas
y termina

ejemplo 2:
creas un cron que realice los calculos que necesites en los tiempos que necesites
el mismo cron crea a la tabla3 que se actualiza automaticamente
en tu script de tu index llamas al script que lee la tabla3
y termina

son mis ideas de como lo manejaria, Saludos!!
__________________
¡El Respeto al Derecho Ajeno Es la Paz!
  #11 (permalink)  
Antiguo 09/01/2015, 18:40
 
Fecha de Ingreso: enero-2015
Mensajes: 35
Antigüedad: 9 años, 10 meses
Puntos: 1
Respuesta: Problema con Cronjob

No se entiende muy bien tus intenciones, pero si lo que pretendes es mostrar algun cambio en tu index.php resultado de la ejecucion de algun script php ya sea ejecutado desde cron, at y/o otros, debes grabar ese resultado en la base de datos y/o en algun archivo binario o de texto o en la session y hacer que tu index.php lo levante o lea.

Pd en la session tengo mis dudas que puedas accederla porque me parece que son procesos diferentes y me imagino que seran sessiones diferentes, pero podrías probar.
  #12 (permalink)  
Antiguo 11/01/2015, 15:57
Musiker
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con Cronjob

Muchísimas gracias a todos por las respuestas! He tomado ideas de todos y lo he entendido mucho mejor, gracias!

Etiquetas: cronjob
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 02:16.