Foros del Web » Programando para Internet » PHP »

Operacion muy larga

Estas en el tema de Operacion muy larga en el foro de PHP en Foros del Web. Buenas: Como suelo acostumbrar, les traigo un problema que no se como solucionar despues de haber buscado por dias por la red y de que ...
  #1 (permalink)  
Antiguo 04/09/2007, 15:29
 
Fecha de Ingreso: julio-2007
Mensajes: 13
Antigüedad: 16 años, 9 meses
Puntos: 1
Operacion muy larga

Buenas:

Como suelo acostumbrar, les traigo un problema que no se como solucionar despues de haber buscado por dias por la red y de que los de soporte tecnico del hosting no me atiendan el telefono (¬¬...) ^^

El tema es asi, estoy desarrollando un sitio en el cual tengo que hace un envio de mails masivo con un servicio de novedad (calculenle 18000 cuentas de mail, don't blame me). Y para hacerlo estoy usando el PHPMailer porque el hosting tien un puerto especifico para envio de mails.

Cuando hice la prueba de mandar el mail a 5 o a 20 direcciones de mail, funciono perfecto, llegan y todo y bastante rapido

El problema es cuando hago el envio con la base posta, la cuestion es que como el script envia los mails de una (osea.. 18000 mails dentro de un bucle). Tengo el problemita de que mientras ejcuta el script, el servidor apache me esta tirando un timeout o algo asi porque me aparece el siguiente error de Apache:

Código:
Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.
Y a la otra persona le aparecio lo siguiente

Código:
Proxy Error

The proxy server received an invalid response from an upstream server.
The proxy server could not handle the request GET /gc-admin/.

Reason: Error reading from remote server
La solucion que se me ocurrio fue hacer el envio de mails por tandas. osea.. que mande un paquete de mails, que genere la pagina y que despues el usuario manualemente mande la siguiente tanda y asi. Pero tengo que fraccionarlo a 30 mails como mucho porque sino me vuelve a tirar el mismo error. Cosa que se me hace imposible mandar 18000 mails en tandas de 30.

No saben si hay algina configuracion o opcion para que no me tire ese error y poder hacer el envio masivo?

Gracias.
  #2 (permalink)  
Antiguo 04/09/2007, 15:47
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Operacion muy larga

Pues si los tienes en tu base de datos los puedes ordenar por nombre por ejemplo y limitar tus resultados, usando la clausula LIMIT, luego poner hasta abajo como dices algo que diga enviar siguiente y asi hasta llegar al ultimo registro.

Piensa como si fuera una paginacion de resultados de una base de datos.

Para que no te salga ese error tendras que configurar el tiempo de respuesta del servidor y de PHP para que no se termine el tiempo antes de que pueda enviar todos los correos.

Saludos.
  #3 (permalink)  
Antiguo 04/09/2007, 15:51
 
Fecha de Ingreso: julio-2007
Mensajes: 13
Antigüedad: 16 años, 9 meses
Puntos: 1
Re: Operacion muy larga

Lo que me dijistes es lo que estoy haciendo ahora de forma provisoria, mandar de a tandas de 25 mails y despues manualmente que se le de "Siguiente" para enviar la otra tanda.

Pero bue, parece que voy a tener que hacer eso y configurar el timeout de los servidores

Gracias!
  #4 (permalink)  
Antiguo 04/09/2007, 15:54
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
Re: Operacion muy larga

Hola Elwin Murton...

Pero de todas formas no es muy bueno mandar esa cantidad de emails de una sola vez, la recomendaciòn que te da GatorV es la màs optima, mandar por tandas, o por lo menos para mi lo es. De esta manera te estas evitando ese tipo de errores

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
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 02:08.