Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/05/2014, 10:46
Avatar de rbnncls
rbnncls
 
Fecha de Ingreso: septiembre-2013
Ubicación: Chipiona, CÁDIZ
Mensajes: 20
Antigüedad: 10 años, 7 meses
Puntos: 0
Pregunta ¿Ejecutar tarea cada X horas aunque la web esté inactiva?

Hola, apenas comienzo con el PHP, llevo unos días estudiándolo.

Empecé porque quiero construir una web que realice una acción exactamente a las 12 am, u 00:00.

Mi idea es poder elegir si cada X horas, en este caso 24, se ejecute un generador de contraseñas, que dará lugar a la variable que usaré para proteger ciertas publicaciones.



Pero he visto muchas cosas, tantas que estoy hecho un lío.

Por lo que he visto las tareas solo se ejecutan cuando la web es activada, pero no se ejecutan los scripts si no hay nadie activo.

Y eso me trae de cabeza, ¿no se puede crear una tarea que se ejecute a diario aunque no se encuentre activa la página exactamente a la hora especificada?

¿Ni PHP, ni MySQL, ni Javascript?

Aparte de esto, mi idea era mantener la contraseña generada cada X tiempo en un fichero de texto, y lógicamente que ese fichero se sobreescriba cada vez que se acaba el X tiempo y se ejecuta el script generador de contraseñas. Por si queríais más detalles.

Otro detalle, he visto webs que tienen el ejemplo de lo que quiero, como [URL="http://www.miniinthebox.com/es"]Miniinthebox[/URL], que tiene un contador de 24 horas regresivo y al acabar se quitan automáticamente las ofertas, ¡eso es genial!

Ahora mismo me voy a descargar parte esa web para intentar analizarla más a fondo después, porque no tengo conexión en casa.

También pensé que podría poner un reloj con Javascript que mostrase la hora, y al llegar a 00:00 del formato 24 horas, pues devolviese el valor a PHP y este ejecutase el generador de claves.

En fin, he tenido muchas ideas y he estado mirando muchos ejemplos de códigos preconstruidos. El problema es que: Si nadie estuviese conectado a las 12 am, lógicamente no se ejecutaría el PHP y por tanto la contraseña no se cambiaría, ¿no es así?

También he estado pensando crear algo más avanzado, tengo la idea: Que teniendo en cuenta la fecha, se compruebe cuando se activa la página que no sean más de las 00:00, y si es así, que ejecute una sola vez el generador de contraseña por esas 24 horas. Pero, ¿cómo se haría eso? No se me dan bien hacer ese tipo de algoritmos, que en mayor parte son numéricos.

Acabo de pensar que para que se ejecutase una sola vez el generador de contraseñas, bastaría con que a diario generase una vez una contraseña y cada vez que se ejecute al entrar alguien en la web, compruebe que la clave que se genera no es == a la clave almacenada en el fichero de texto, y por tanto no la vuelva a sobreescribir por un día.
Pero de nuevo... Puedo intentarlo, pero no sé cómo expresarlo en código.

Sé que quizá no es este el lugar correcto para postear esta pregunta, pero pensé que se podría usar MySQL y PHP para almacenar la hora y que PHP se ejecutase u algo así.

Agradezco que lean el cacho texto que he escrito, y más agradezco opinión y comentarios. Saludos.