Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/08/2011, 19:41
xblanch
 
Fecha de Ingreso: junio-2010
Mensajes: 6
Antigüedad: 13 años, 10 meses
Puntos: 0
fórmula para calcular tiempo envío e-mails

Hola,
Estoy haciendo un script para hacer envíos de correo más o menos masivo. El envío se hace por paquetes de 10 correos (por ejemplo), y a la vez, entre envío y envío dejo pasar unos segundos, mediante la función sleep().

Quiero imprimir en pantalla, el tiempo que se tardará en completar el envío.
No sé cual es la operación matemática que debiera utilizar para hacer este cálculo, puesto que utilizando el siguiente código no me funciona:

// variables
$mails=112; // número de direcciones a las que se enviará el correo, se extrae de la bd
$segundos=20; // tiempo para la función sleep(), entre envío de paquetes
$cant=10" // cantidad de emails por paquete

// fórmula para calcular tiempo de envío
$tiempo=($mails/$cant)*$segundos;
echo $tiempo;

La fórmula para calcular sé que no es correcta.
Con esta fórmula estoy multiplicando el número de paquetes por el tiempo entre un envío y otro. Pero, el número de ciclos de sleep siempre es uno menos que e número de paquetes, ya que cuando se ha enviado el último paquete de mails, sleep ya no se ejecuta.

Sería una serie así:
Envío paquete 1 -> sleep -> envío paquete 2 -> sleep -> .... -> envío último paquete

He probado restando 1 (-1) al resultado de dividir $mails y $cant pero tampoco resulta. El problema es cuando la división da un resultado con decimales. Si el resultado es un entero, y le resto 1, entonces si funciona correctamente.
Cuál sería la fórmula correcta?

// segunda formula
$tiempo=(($mails/$cant)-1)*$segundos;

Soy bastante nobato en PHP y además de letras. No me lo tengáis en cuenta. Gracias por vuestra ayuda.
Saludos.

Última edición por xblanch; 18/08/2011 a las 19:46