Foros del Web » Programando para Internet » PHP »

Tareas programadas en PHP & MYSQL

Estas en el tema de Tareas programadas en PHP & MYSQL en el foro de PHP en Foros del Web. Alguien sabe la forma de programar algo para una hora determinada? Que a la hora X , haga estas funciones y cargue estos datos? En ...
  #1 (permalink)  
Antiguo 17/12/2004, 05:55
 
Fecha de Ingreso: diciembre-2004
Mensajes: 20
Antigüedad: 19 años, 4 meses
Puntos: 0
Tareas programadas en PHP & MYSQL

Alguien sabe la forma de programar algo para una hora determinada? Que a la hora X , haga estas funciones y cargue estos datos?

En mysql nohay procedimientos , así que no se. Alguna idea?

Un saludo
  #2 (permalink)  
Antiguo 17/12/2004, 07:04
 
Fecha de Ingreso: junio-2003
Mensajes: 744
Antigüedad: 20 años, 9 meses
Puntos: 0
A mi me pidieron algo parecido hace ya tiempo...
Y si no recuerdo mal creo que lo solucioné con un truquillo... :)
A ver si te doy alguna idea.. Lo hice con bdd.
Cuando un usuario entra a la web se comprueba el día y la hora,
si es mayor que la que tu especifiques para realizar actualizaciones, realizas las actualizaciones y asignas a un campo en la base de datos fecha y hora de la actualización... (Nota: Cuando compruebas la fecha y hora actual con la de la actualizaciones, después deberás comprobar también que la que hay en la base de datos no sea mayor que la de la actualización).
Esto no es un ejemplo de programar algo a una hora determinada, pero en su defecto igual te sirve, porque siempre que entra un usuario en la web si no esta actualizado te lo actualizará (Las comprobaciones las harás lo primero de todo al entrar en la página).
No se si me he explicado muy bien, ni si te servirá realmente, pero bueno... es una idea! :)
__________________
Ibisof | Saludos desde Eivissa !!! :p
  #3 (permalink)  
Antiguo 17/12/2004, 07:26
Avatar de oktubre  
Fecha de Ingreso: agosto-2003
Ubicación: en mi casa
Mensajes: 371
Antigüedad: 20 años, 7 meses
Puntos: 4
Yo hice algo muy parecido a lo que te dicen arriba

Mi problema era que tenia que censar muchos equipos en la base de datos a medida que pasan los dias, y determinar la ubicacion e informarlo por mail a los gerentes.

Aca la ventaja que tengo es que el sistema de administrración esta todo el día en uso por el personal de ventas, lo que me dio la misma idea que te comentan mas arriba. En el inicio del panel de botones del sistema, deje un script que verifica en la base de datos que las tareas esten hechas, si no lo estan comiensa por calcular cunatos dias estubo la merca en el deposito parada, si es mayor a 4, valor que lo toma de otra consulta (una tabla de configuracion) le envia un mail al gerente diciendole donde esta parada la merca, y a vetas le informa tambien por mail que deposito esta demorando el proceso completo de la venta. Por ultimo deja en una tabla de eventos guardado los datos de lo ocurrido y le avisa a un campo flag que hoy ya se realizo el control.

suponiendo que el proceso de traking se realizo temprano con el primero que ingreso al sistema, ignora todo lo que le configuramos que haga y esto ocurre cada vez que el botones.inc.php es ejecutado. El sistema es un avion, no es lento, no falla, y el modelo de datos si les interesa lo podemos publicar aqui. no el diseño grafico porque esta bien feito, jaja

espero haber dado una idea de como solucionar este tipo de problemas. se que es un poco atar con alambre pero, todo lo improvisado es efectivo, 100%

saludos



(lo que estaba pensando recien, si el server es tuyo, osea estas sentado en el servidor, solo le tenes que decir que debe hacer y a que hora, me refiero, si no es un hosting contrratado.)
__________________
w32.oktubre@mm <----------------<<<<
prefiero cerrar la boca y parecer un tonto que abrirla y confirmarlo.
  #4 (permalink)  
Antiguo 17/12/2004, 08:18
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
En Linux puedes crear un "Cron Job" para forzar la ejecución de tu script a tal hora (o definir periodos .. de ejecución).

En Windows tienes el "Programador de tareas" para hacer lo mismo.

El caso es que ambos son herramientas del S.O. de ese servidor. En servicios de hosting bajo Linux suelen tener en tu panel de control la opción de "Cron Job" .. En ese caso se suele usar una llamada a tu script tipo:

GET http://www.tal.tal/tuscript.php >/dev/nulll

(o similar) y luego creas la definición de los intervalos de ejecución (con psudo-asistentes que suelen tener ..)

Un saludo,
  #5 (permalink)  
Antiguo 17/12/2004, 08:29
 
Fecha de Ingreso: diciembre-2004
Mensajes: 20
Antigüedad: 19 años, 4 meses
Puntos: 0
el hosting donde estoy, es bajo windows, y no se como hacer para acceder el programador de tareas, del servidor que contraté.

Yo lo hago ahora mismo como comentais, si entra a una hora, y es mayor de la que guardo en la base de datos, pues se ejecuta el script. Pero los calculos a realizar, son demasiados, y me da error por maximo tiempo de ejecucion excedido. Y no se que hacer .
La clave es que necesito hacer todo junto, no por partes. Así que la opcion que vi, fue esa, programar las cosas cada 5 minutos durante una hora, y que en esa hora, la web estuviese cerrada. Y luego los usuarios, ya podrian ver todo bien, y no haría falta que entrase nadie, durante esa hora.


Alguna sugerencia mas?

Un saludo
  #6 (permalink)  
Antiguo 17/12/2004, 08:36
Avatar de oktubre  
Fecha de Ingreso: agosto-2003
Ubicación: en mi casa
Mensajes: 371
Antigüedad: 20 años, 7 meses
Puntos: 4
podrias mostrar que es la tarea que debe realizar?

podrias especificar mas cuales son las tareas que debe realizar tu script como para determinar mejor cual puede ser la solucion?

una de las cosas que podrias ver es de fijar al principio del script set_time_limit(0);

set_time_limit() no tiene efecto cuando PHP se ejecuta en safe mode (modo seguro). No hay otra opción que que desactivar el modo seguro o cambiar el límite de tiempo en el php.ini

una pregunta, hay un apache corriendo en ese hosting windows o es php como CGI?


la verdad se me terminan las ideas

saludos
__________________
w32.oktubre@mm <----------------<<<<
prefiero cerrar la boca y parecer un tonto que abrirla y confirmarlo.
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 14:48.