Foros del Web » Programando para Internet » ASP Clásico »

Gran Problema

Estas en el tema de Gran Problema en el foro de ASP Clásico en Foros del Web. Hola amigos bueno el problema es el siguiente tengo una base de datos de aproximadamente 10.000 usarios y realizo un proceso barriendo esta base de ...
  #1 (permalink)  
Antiguo 01/03/2002, 10:26
 
Fecha de Ingreso: febrero-2001
Ubicación: Capital Federal
Mensajes: 93
Antigüedad: 24 años, 3 meses
Puntos: 0
Gran Problema

Hola amigos bueno el problema es el siguiente tengo una base de datos de aproximadamente 10.000 usarios y realizo un proceso barriendo esta base de datos y los usuarios que cumplen con la condición del query se les envíe un newsletters.

El proceso es así
do while not RsUsuarios.EOF
cantMails = cantMails + 1
email = RsUsuarios("email_address")
cuerpo= cuerpo & Rsmails.fields(6)
Set myCDONTSMail = CreateObject("CDONTS.NewMail")
myCDONTSMail.From = "[email protected]"
myCDONTSMail.To = "[email protected]"
myCDONTSMail.Bcc = email
myCDONTSMail.Subject = rsMails.fields(1)
myCDONTSMail.BodyFormat = 0
myCDONTSMail.MailFormat = 0
myCDONTSMail.Body = cuerpo
myCDONTSMail.Send
Set myCDONTSMail = Nothing

RsUsuarios.movenext
loop

Además le agrego esta propiedad
<%
server.scriptTimeOUt=1800
%>
Pero el proceso se cuelga, no termina, o me devuelve una página inexistente, alguien proceso gran cantidad de registros en un IIS??, es acaso que no se puede hacer esto en asp??, agradecería su ayuda amigos.
Por favor es muy importante, gracias nuevamente.
  #2 (permalink)  
Antiguo 01/03/2002, 11:32
Avatar de DanielRey
Usuario no validado
 
Fecha de Ingreso: enero-2001
Ubicación: Mendoza
Mensajes: 630
Antigüedad: 24 años, 3 meses
Puntos: 1
Re: Gran Problema

Hola Aleman

No tengo la respuesta al problema que planteás, pero quizá un par de cambios al código te permitan aumentar la eficiencia del mismo, y te funcione hasta que tengas unos... 100.000 ??


cuerpo= cuerpo & Rsmails.fields(6)
Set myCDONTSMail = CreateObject("CDONTS.NewMail")
myCDONTSMail.From = "[email protected]"
myCDONTSMail.To = "[email protected]"
myCDONTSMail.Subject = rsMails.fields(1)
myCDONTSMail.BodyFormat = 0
myCDONTSMail.MailFormat = 0
myCDONTSMail.Body = cuerpo

do while not RsUsuarios.EOF
cantMails = cantMails + 1
email = ""
for i = 1 to 20
email = email & RsUsuarios("email_address") & ";"
RsUsuarios.movenext
Next
myCDONTSMail.Bcc = email
myCDONTSMail.Send
loop
Set myCDONTSMail = Nothing

Lo único que cambia de un mail a otro es el destinatario de la copia oculta ¿cierto?
El "From", el "To", el "Subject", el "BodyFormat", el "MailFormat" y el "Body" son el mismo para los 10.000 usuarios.
Entonces definilos sólo una vez, no 10.000 veces.

Estás enviando 1 mail a cada usuario. Si usás el Bcc, ¿por qué no enviás un mail cada 20 usuarios?

Esas son las dos modificaciones que hice al código.
Así será mucho más eficiente, y te solucionará el problema por un tiempo.

Espero que te sirva

Suerte ;)

Daniel Rey
  #3 (permalink)  
Antiguo 01/03/2002, 14:07
 
Fecha de Ingreso: febrero-2001
Ubicación: Capital Federal
Mensajes: 93
Antigüedad: 24 años, 3 meses
Puntos: 0
Re: Gran Problema

Gracias Daniel por tu respuesta, la tendré en cuenta alguien me puede dar otra sugerencia???
  #4 (permalink)  
Antiguo 02/03/2002, 11:34
 
Fecha de Ingreso: abril-2001
Mensajes: 66
Antigüedad: 24 años, 1 mes
Puntos: 0
Re: Gran Problema

......... AAAAAAAAAmen!!! :cantar:

<div align="center" onselectstart="return false" style="cursor: default"><embed src="http://geocities.com/unpocode/e-developer.swf" type="application/x-shockwave-flash" width="177.5" height="33.7" play="true" wmode="transparent" menu="false" loop
  #5 (permalink)  
Antiguo 02/03/2002, 12:05
 
Fecha de Ingreso: febrero-2001
Ubicación: Capital Federal
Mensajes: 93
Antigüedad: 24 años, 3 meses
Puntos: 0
Re: Gran Problema

Hola amigo salvadoreño, disculpame no entendí tu mensaje y si fue una broma tampoco la entendí, salu2.
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 11:11.