Harlequin Posted August 28, 2013 Share Posted August 28, 2013 Hi I have a system where users can invite up to 250 people to attend an event. The problem is that I do not want to send 250 mails all at the same time so I used a script that does the following: // Send Mail: $i = 0; while ($i <= $Number) { And then sends the mail until the number reaches 250. I added a sleep if the number reached "X" or "Y" but that simply held up the page and returned an error so I am thinking that perhaps instead of sending the mail immediately I push them into a database and then run a CRON job every few seconds to send a bunch of the mails.Suggestions...? Quote Link to comment https://forums.phpfreaks.com/topic/281648-mass-mailer-sleep-or-count/ Share on other sites More sharing options...
fastsol Posted August 28, 2013 Share Posted August 28, 2013 CRON is for sure the way to go on this. Quote Link to comment https://forums.phpfreaks.com/topic/281648-mass-mailer-sleep-or-count/#findComment-1447224 Share on other sites More sharing options...
Harlequin Posted August 28, 2013 Author Share Posted August 28, 2013 It's what I was thinking because I could easily have 5 or even 10 users all sending 250 invites simultaneously and I'd simply get my account shut down I think. Quote Link to comment https://forums.phpfreaks.com/topic/281648-mass-mailer-sleep-or-count/#findComment-1447226 Share on other sites More sharing options...
The Letter E Posted October 23, 2013 Share Posted October 23, 2013 You should consider a language that is better for high concurrency. With node.js you could process a large amount of the requests asynchronously as apposed to the synchronous downside of php. You may also find a service like IronMQ or RabbitMQ useful once you need to scale beyond your current means. Quote Link to comment https://forums.phpfreaks.com/topic/281648-mass-mailer-sleep-or-count/#findComment-1455146 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.