Procesos en Automático

Soy nuevo en PHP, tengo que hacer una función que se ejecute a determinada hora
es para el control del personal. Por decir, que se ejecute a las 8:30 y ponga
falta a todo personal que no haya registrado su entrada. Pero no he encontrado nada
en los manuales ni en la web referente a procedimientos automáticos en cierto tiempo.
1

1 respuesta

Respuesta
1
Es cierto que el día que necesite que una función se ejecutase a una hora determinada con una frecuencia determinada, me encontré en tu misma situación y siento decirte que en php no existe nada que haga eso. Por lo general la programación de ejecución de scripts lo tiene que hacer el servidor y concretamente eso lo hace el 'demonio' llamado CRON, eso hablando de servidores Unix, sin embargo en el servidor web de windows 'IIS', por defecto no lo trae (o por lo menos eso tengo entendido), pero se le puede instalar.
Por otro lado en php se puede hacer un "CRON", que básicamente lo que hace es simular lo mismo que hace el servidor, pero siempre depende de un evento externo, es decir, puedes programar que cada vez que alguien visite la zona de administración de tu programa (ejemplo: index.php) se lance una función que comprueba si ese día ya se ha ejecutado la función deseada o no, en el caso de que no, se ejecuta y grabas una marca de tiempo para ir comprobando que dicha función se lanza cada POR tiempo.
Si tienes acceso a programar el crontab de tu hosting es muy fácil, pero si lo quieres hacer en php pues tampoco es difícil, pero no es tan automático... si quieres te puedo poner un ejemplo de una función CRON en php.
Hola, gracias por responder.
¿Existe algún script de java o html u otro lenguaje para que ejecute la función que necesito que se ejecute a determinada hora?
Seria bastante útil. Gracias
La verdad es que las veces que he buscado sobre el tema, nunca he encontrado algo que sustituya las tareas crontab y sea fiable al 100%. Como ya le comenté, si es cierto que gestores de contenidos como wordpress y drupal, tienen programado en php un cron, pero sigue dependiendo de un evento externo al servidor, es decir de un usuario o incluso del cron del servidor.
Le copio el enlace al tutorial del cron de drupal. Como vera si gestores CMS de dicha talla funcionan así es porque no hay otra opción viable. Ya que contemplar un bucle infinito en javascript sería una opción, pero se expondría a tener que tener siempre una ventana del navegador abierta, siempre y cuando el servidor no tire la conexión... Aunque si es verdad que hay empresas que se dedican a ofrecer ese servicio, previo pago, que se puede decir que 'alquilan' su CRON, en este caso sale a 25 Dolares al año, podría ser una solución, pero siempre sería mejor preguntar si el propio hosting contratado tienen como extra el servicio.
Como ya le comenté podría salir del paso creando una función que se ejecute cada vez que la web sea visitada y que haga una comparación de la fecha/hora actual con la definida para que se ejecute la tarea deseada, si desde la última ejecución no han pasado 24h no se ejecuta, pero en el caso de que si, se ejecuta. Esto puede hacer que en lugar de ejecutarse la tarea a las 18:00, pues se ejecute en la siguiente visita que puede ser a las 18:30 o a las 20:00, pero sabiendo el número de visitas diarias que tiene, con que una sola persona la visite ya se asegura que ese script se ejecutará.
Siento no poderle dar una solución alternativa al Cron, pero la facilidad que dan las tareas crontab no son equiparables a nada.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas