Como puedo hacer un sleep(3) cada 200 registro dentro de un bucle?
gracias.
salu2
zsamer.
| |||
Hacer pausa cada 200 registro de la db? Como puedo hacer un sleep(3) cada 200 registro dentro de un bucle? gracias. salu2 zsamer. |
| ||||
Tu consulta me suena como que te interesa mostrar los resultados, que pause tres segundos y que nuevamente continúe iterando. Si lo que te interesa es ir desplegando la información y que se pause 3 segundos cada 200 registros, creo que necesitarás de las funciones: ob_flush();flush(); así como están, juntas, al momento que quieras desplegar los datos. Me imagino que eso quieres porque eso de que se pause 3 segundos lo veo muy extraño, pues no vas a ver ninguna salida. Sólo harías que se tardara más. Saludos.
__________________ "Di no al Internet Explorer" -Proverbio Chino- |
| |||
Ojo que ese "sleep()" de 3 segundos X ese n° de iteracciones del bucle (200?) .. dará como resultado un tiempo de ejecución del script de N segundos. PHP impone limitaciones para la ejecución de un script. Debes tener presente que por defecto son como "30 segundos" máximo y puedes ajustarlo en tiempo de ejecución con la función: set_time_limit() Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| |||
Cita: no es para mostrarlo, es para envío de newsletter (mails a los usuarios registrados)
Iniciado por uamistad Tu consulta me suena como que te interesa mostrar los resultados, que pause tres segundos y que nuevamente continúe iterando. Si lo que te interesa es ir desplegando la información y que se pause 3 segundos cada 200 registros, creo que necesitarás de las funciones: ob_flush();flush(); así como están, juntas, al momento que quieras desplegar los datos. Me imagino que eso quieres porque eso de que se pause 3 segundos lo veo muy extraño, pues no vas a ver ninguna salida. Sólo harías que se tardara más. Saludos. Cita: Cluster, la ideas es que en cada 200 registro haga un sleep(3), no en cada uno de ellos.
Iniciado por Cluster Ojo que ese "sleep()" de 3 segundos X ese n° de iteracciones del bucle (200?) .. dará como resultado un tiempo de ejecución del script de N segundos. PHP impone limitaciones para la ejecución de un script. Debes tener presente que por defecto son como "30 segundos" máximo y puedes ajustarlo en tiempo de ejecución con la función: set_time_limit() Un saludo, |
| ||||
Ahh, vale zsamer, así como lo pones creo que jala bien. Claro que si tienes más de 2000 usuarios (10 veces 200 -> 30 segundos), necesitarás moverle ahí al set_time_limit() p' que no tengas problems con tu aplic.
__________________ "Di no al Internet Explorer" -Proverbio Chino- |
| |||
Cita: Ok, .. pero toma nota de esa función .. por qué entre el proceso de generación del e-mail en sí .. el envio de ese lote de "200" y los N cientos/miles más que tendrás .. lo más probable es que empieces a tener problemas por el tiempo de ejecución de tu script.Cluster, la ideas es que en cada 200 registro haga un sleep(3), no en cada uno de ellos. Recuerda que PHP con su función mail() (estás usando eso?) sólo entrega el e-mail al "MTA" que tengas configurado .. NO envia el e-mail en sí. Por otro lado que tu "MTA" acepte o tenga alguna restricción de cuantos e-mails pueda recibir por cierto tiempo será otra cosa .. Si usas un servidor SMTP directo .. pasará lo mismo. En teoría tu sólo tendrías que enviar tus e-mails normalmente y ya será tu servidor SMTP/MTA en general el que gestione su "cola" de envios. Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| |||
gracias, en mi script tengo el set_time_limit(0); pero no sirve de mucho ya que el hosting está en safe mode off, bueno pensaba hacer ésto con paginación de mail. osea que envie de 200 en 200 y entre ellos haga un header para redireccionar a la misma página con parámetros para enviar a los otros 200 y asi sucesivamente. |