PHP MySQL Large process
Posted on 2013-06-20
I have a website that has over 700 registered users and we attach specific users to certain jobs. After that process, we have a form that we send all these specific users an email notifying them that they have been attached to a job.
If the list is large, 100+ users, the process takes a long time and many times returns a timed out page. We are on a dedicated server and I have been told it might be best to create a cron job that is triggered every minute and checks to see if a flag is set calling for a mass email to be processed to these users.
My first question, will it degrade the performance of the server if a cron job is being ran every minute on a server even if it is not processing a large request?
Secondly, is there a way a php script can be created that calls for a cron job to be initiated? For example, currently we add the users we need emailing to a separate database list, when we are ready to send to them... a push of a button will start the cron process. Is that possible?
Third and final, other than third party mass-emailers, what is the best way of sending emails through php to a great number of users. I have tried simply cycling through a list of emails and sending one at a time and I tried batching all the emails into one BCC. Am I missing some way that is easier and more efficient on a Linux server?