Foros del Web » Programando para Internet » PHP »

tareas en php

Estas en el tema de tareas en php en el foro de PHP en Foros del Web. saludos necesito saber como puedo programar una tarea en php, necesito enviar un email a una hora y dia elegidos por el usuario? ya utilice ...
  #1 (permalink)  
Antiguo 22/05/2011, 19:41
 
Fecha de Ingreso: junio-2010
Mensajes: 41
Antigüedad: 13 años, 10 meses
Puntos: 5
tareas en php

saludos necesito saber como puedo programar una tarea en php,
necesito enviar un email a una hora y dia elegidos por el usuario?

ya utilice cron bajo linux pero no llena mis necesidades ya que este solo se ejecuta cuando el admin del server lo requiere y en este caso la fecha y hora de envio seran programadas por el usuario.
  #2 (permalink)  
Antiguo 22/05/2011, 20:25
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 20 años, 8 meses
Puntos: 105
Respuesta: tareas en php

Holas,

Podrias tener un formulario donde registres las fecha o horas que se envie, segun o que llene el usuario y luego en tu script PHP procesarlas al cron, ahora si para hacer eso necesitas la autorizacion de tu admin del server va ha ser muy complicado.

Usas Cpanel o es tu propio server?

Saludos
Gildus
__________________
.: Gildus :.
  #3 (permalink)  
Antiguo 22/05/2011, 21:03
 
Fecha de Ingreso: junio-2010
Mensajes: 41
Antigüedad: 13 años, 10 meses
Puntos: 5
Respuesta: tareas en php

estoy con cpanel en un dedicado.. la pregunta es como ejecutar el envio del boletin a la hora y el dia exacto que diga el usuario por el formulario, como puede leer el cron esos datos como se programa el cron para que ejecute el script a esa hora deteminada por el usuario, recuerda que el admin es el queda el permiso al cron pero no es quien da la fecha y la hora?

como lo harias?
me ayudaria mucho cualquier sugerencia?
  #4 (permalink)  
Antiguo 22/05/2011, 21:13
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 20 años, 8 meses
Puntos: 105
Respuesta: tareas en php

Deberias de tener en cuenta que con php podrias ejecutar comandos desde consola con system, exec, passthru, escapeshellcmd, etc.

Pero como mencionas que tiene que ser aprobado por el admin del server, entonces lo que podrias hacer es enviar un email al con los datos o detalles de lo que deseas ejecutar. Pero eso seria mucho trabajo para el admin, no crees?

Saludos
Gildus
__________________
.: Gildus :.
  #5 (permalink)  
Antiguo 23/05/2011, 07:25
 
Fecha de Ingreso: junio-2010
Mensajes: 41
Antigüedad: 13 años, 10 meses
Puntos: 5
Respuesta: tareas en php

no te preocupes por lo del admin solo necesito saber como programar el cron con los datos ingresados por el usuario?
  #6 (permalink)  
Antiguo 23/05/2011, 08:06
 
Fecha de Ingreso: junio-2010
Mensajes: 41
Antigüedad: 13 años, 10 meses
Puntos: 5
Respuesta: tareas en php

mi pregunta es como pueden los autorespondedores hacer esto? programar tareas en el server mediante datos introducidos por el usuario?

¿utilizan un id para cada tarea?
  #7 (permalink)  
Antiguo 23/05/2011, 08:23
 
Fecha de Ingreso: junio-2010
Mensajes: 59
Antigüedad: 13 años, 10 meses
Puntos: 5
Respuesta: tareas en php

Solo necesitas una tarea programada, la cual se debe ejecutar cada cierto tiempo (esa opcion viene en el cpanel). Esa tarea programada llama a un script php que lo unico que hace es recuperar los mail de la BD y compara su fecha y hora de envio con la fecha y hora actual del sistema, y si coinciden lo envia.
No necesitas hacer una tarea programada por cada mail, solo uno, que con el cron es por demas suficiente
  #8 (permalink)  
Antiguo 23/05/2011, 09:24
 
Fecha de Ingreso: junio-2010
Mensajes: 41
Antigüedad: 13 años, 10 meses
Puntos: 5
Respuesta: tareas en php

eso lo comprendo rodrigo pero que sucede si la tarea es programada cada 1 hora y los emails estan para enviarse a minutos de diferencia ? que sucederia si cuando el cron se ejecute (ejempls a las 10 pm) y no encuentre emails a esa hora sino que el email este para enviarse a las 10:10pm , el script no podra enviarlos ¿no crees? ya que la ejecucion del srcipt fue a 10 minutos antes de la fecha de envio? no se si me comprendas. lo que digo es si a la hora de ejecutarse el cron son las 10 y un envio es a la 10 :05 y otro a las 10:15 y sucesivantente, no funcionara ya que el script solo compara la hora actual .el cron no deberia ejecutarse para cada envio de email o no ? consejos y sugerencias por favor....
  #9 (permalink)  
Antiguo 23/05/2011, 20:07
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 20 años, 8 meses
Puntos: 105
Respuesta: tareas en php

Holas,

Haber, hay un detalle que podrias conciderar, y es teniendo los datos de cada usuario, es decir cada usuario programara las fechas que desea, entonces tu solo podrias guardar esas fechas y horas incluso en tu bd, y luego en tu CRON solo tu haras una sola tarea en la que corra o se ejecute por ejemplo cada 10 o 5 minutos(para no saturar a tu servidor, pero intenta con menos si lo deseas), y lo que hara tu script PHP es verificar cada registro de cada usuario que programo sus fechas y hora de envio, si coincide en el tiempo en el que se ejecuta el script se envia sino no lo hace.

Es mas para esto no tendras que hacer uso entonces de las funciones system, exec, passthru, escapeshellcmd, etc.

Es muy simple, no te compliques, cualquier detalle nos avisas.

Saludos
Gildus
__________________
.: Gildus :.
  #10 (permalink)  
Antiguo 23/05/2011, 20:07
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 20 años, 8 meses
Puntos: 105
Respuesta: tareas en php

Aqui un link para que ingreses una tarea a tu cron:

http://wiki.lidsol.org/index.php?title=Uso_del_Crontab

Saludos
Gildus
__________________
.: Gildus :.
  #11 (permalink)  
Antiguo 23/05/2011, 20:28
 
Fecha de Ingreso: junio-2010
Mensajes: 41
Antigüedad: 13 años, 10 meses
Puntos: 5
Respuesta: tareas en php

Cita:
Iniciado por gildus Ver Mensaje
Holas,

Haber, hay un detalle que podrias conciderar, y es teniendo los datos de cada usuario, es decir cada usuario programara las fechas que desea, entonces tu solo podrias guardar esas fechas y horas incluso en tu bd, y luego en tu CRON solo tu haras una sola tarea en la que corra o se ejecute por ejemplo cada 10 o 5 minutos(para no saturar a tu servidor, pero intenta con menos si lo deseas), y lo que hara tu script PHP es verificar cada registro de cada usuario que programo sus fechas y hora de envio, si coincide en el tiempo en el que se ejecuta el script se envia sino no lo hace.

Es mas para esto no tendras que hacer uso entonces de las funciones system, exec, passthru, escapeshellcmd, etc.

Es muy simple, no te compliques, cualquier detalle nos avisas.

Saludos
Gildus
haber la preguna es si el cron se ejecuta a las 10:00 y existe un envio para las 10:05 y el cron vuelve y se ejecuta a la 10:10(ha volado el envio de las 10:05)entiendes? como se solucionaria esto?
  #12 (permalink)  
Antiguo 23/05/2011, 20:46
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 20 años, 8 meses
Puntos: 105
Respuesta: tareas en php

Facil:

1: Ejecutas el cron cada 1 Seg. O sino.
2. Haces para que el usuario solo ingrese cada 10 minutos como minimo. Aqui todo depende de como quieres que el usuario ingrese las fechas y horas, tu pones la restriccion. Pero es muy raro o muy absurdo que un usuario quiera que envie a 10:05, no crees?, pero bueno hay que suponer todo. Pero todo depende de ti como filtres o como haces que el usuario ingrese la hora. puedes hacer una lista que seleccione cada 15 minutos o cada 20 minutos, 30 minutos o 1 hora, etc.

Saludos
Gildus
__________________
.: Gildus :.
  #13 (permalink)  
Antiguo 24/05/2011, 13:14
 
Fecha de Ingreso: junio-2010
Mensajes: 59
Antigüedad: 13 años, 10 meses
Puntos: 5
Respuesta: tareas en php

A eso me referia, el cron puede ejecutarse incluso cada minuto si asi lo deseas y simplemente comparas esa hora y min con la del mail guardado en la BD. No se si la verificacion de cada 1 minuto es suficiente para que no haya mucho retraso en el envio de tu msg, para mi es por demas suficiente.
Suerte
  #14 (permalink)  
Antiguo 24/05/2011, 18:49
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 20 años, 8 meses
Puntos: 105
Respuesta: tareas en php

Solo para aclarar, que ejecutes tu cron cada segundo, tienes que tener cuidado en hacer bien tu script y no tratar de sobrecargar a tu server, haz pruebas primero cada 5 o 3 minutos, y analizalo.

Saludos
Gildus
__________________
.: Gildus :.

Etiquetas: cron, tareas
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 16:33.