Actually, the browser outputs every email sent, and runs the following commands every 3,000 mailings:
print "pausing...<br><br>"; flush(); sleep(15); print "resuming<br><br>"; flush(); // continue so it's not the browser timing out --- Bogdan Stancescu <[EMAIL PROTECTED]> wrote: > Ok, I'm not positive I'm right here, but have you > thought about the > browser timing out - and not PHP? You may try doing > an echo(" "); and a > flush(); every 100 e-mails or so - and reset max > exec time to a > reasonable duration while you're at it - that > *might* fix it. Please > note that executing set_time_limit() also resets the > timer, so > set_time_limit(20) every 100 e-mails should be more > than enough. > > HTH > > Bogdan > > Daren Cotter wrote: > > I have a PHP script that queries a MySQL database, > > retrieves email addresses, and sends an email to > all > > members of a website. > > > > The problem is this: the PHP script times out > after > > sending about 5,000 mailings, and I have to > restart it > > 10 times in order to mail the entire list! > > > > This is an ongoing problem I have had for almost a > > year now. I have tried MANY things to make this > work > > better, which I have outlined below: > > > > 1) Upped the Max Excecution Time in PHP from 30 to > a > > ridiculously high 300 (is this a security issue?) > > 2) Upped the Max amount of memory a PHP script can > > have from 8mb to 16mb > > 3) Running sendmail in "deferred" mode instead of > > "background" mode, and processing the mail queue > ever > > 5 minutes instead of the default 1 hour. > > > > Results: > > > > 1) The script runs much longer, but still times > out. > > (One thing I want to make clear, even when max > > execution time is 30 seconds, the script does not > stop > > after 30 seconds, maybe it just means 30 seconds > of > > inactivity?) > > > > 2) I have no idea if this is making a difference > or > > not, does anyone know? > > > > 3) Since this means mailings get sent right into > the > > queue, and not sent right away, the HTTP interface > > runs 10 times faster. This would be a GREAT > solution > > for me, but it has one drawback: when a user signs > up > > for the site, their confirmation email must be > sent > > immediately...it cannot sit in the queue until the > > next time the queue is processed (at most 5 > minutes). > > > > So, I figure I have two options. Leave sendmail as > set > > to deferred, process the queue every so often, but > > find a way to have the confirmation emails sent > > immediately. This is really the option I want to > do. > > The sendmail version I have (latest version), has > 4 > > separate mail queues. Does anyone know how to use > PHP > > to stipulate that some mailings get sent > immediately, > > while others are just queued until the next queue > run? > > > > Otherwise, I have to set the delivery method of > > sendmail back to background, have mailings take 10 > > times as long from the HTTP interface, and try and > > find some way from keeping the script from timing > out > > and having to restart the mailing. > > > > ANY HELP is greatly appreciated! > > > > BTW, the server is loaded, dual proc, gig of ram, > > etc...more hardware has not helped the problem. > > > > __________________________________________________ > > Do You Yahoo!? > > HotJobs - Search Thousands of New Jobs > > http://www.hotjobs.com > > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > __________________________________________________ Do You Yahoo!? HotJobs - Search Thousands of New Jobs http://www.hotjobs.com -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php