I would like start by mentioning that I’m still relatively new to the programming world and I do not understand most of the concept talked on this forum. However, I love to learn and this is why I’ve been lurking this forum for some time now. I’ve been programming for about 4 years now and it has been mostly in PHP (Planning on learning Elixir). I’ve been doing vary basic stuff with the Slim framework and Laravel’s Illuminate Database package, but now we are running into some issues at work.
We have been using PHP to run server side scripts like the following:
- Updating a users database (MSSQL) by fetching users from our Active Directory. We are basically fetching all users from AD to get their username, email, phone extension, employee number and then fetching more information about their jobs from a Human Resources database. This is to create a users table for our employee web application portal.
- Creating mailing list from a web interface and then sending the emails. It can be thousands of email. Any user can create a mailing list (might be up to 40000 emails in a list). These list are then placed in a queue and PHP reads that queue to then send the emails. Sending emails is actually very slow. Is it PHP or our setup… we don’t know yet.
- More scripts will be implemented in the future.
These scripts are slow and/or are timing out. We’re running PHP in IIS and we’ve been getting random FastCGI problems. I feel like PHP might not be the best for these types of scripts.
I would like to know if I should be looking and learning a different server side scripting language to run these scripts. Also, what would you recommend as the queue/tasks system? Some scripts need to run as soon as possible (emails) and some scripts need to be scheduled. I do not mind learning a new language as I can see this be very beneficial in the future.
Again, I’m new to this stuff, but I’m willing to learn and would like this system to be very solid as we will have more scripts scheduled in the future.
Thank you for any help that I get!