I am looking for a skilled developer with good knowledge of multi threaded systems and Linux. The main objective of the program is to run a large number of php scripts simultaneously and as efficiently as possible. Each php script will be run based on a a given path and a set of variables for each script. You will get access to a server and a test enviroment which is ready to test your program.
The job consists of two parts:
1) A PHP script called run.php. This script will only read a php array of paths or urls and an array containg a set of variables for each path or url. The php script will connect with the C/C++ program and make sure all those files are run simultaneously in a very efficient way.
- The script should work independently in which folder it is placed.
- The php script should work on an apache server.
- The script should work when calling it either from the browser or using a linux command such as: php /var/html/[url removed, login to view]
- The php script should know when all scripts are finished running.
- The following settings should be implemented:
=> server login (for paths to the same server)
=> web login (for urls)
=> proxy login (with username and password)
=> timeout for the individual scripts
=> option to return the output of the content or not (discard it)
2) A program written in C or C++ which runs on linux centos that will run a large number of php scripts at the same time in a very efficient way.
- The program should be able to run at least 400 php scripts at once and simultaneously without any siginificant time delay in the start of each individual script.
- The program should run all those scripts in threads within a single process, which should be the most efficient way.
- A number of PHP variabels should be send to each individual PHP script.
- The script should be able to deal with concurrency: The program should know which scripts are being run for that particular session AND it should know when all those individual php scripts are finished.
- Sometimes a remote server will be used and then it should be possible to use a login username and password for that server. If there is no username and password given, logging in should be avoided and the same server should be used. Loggin in will take additional resources from the server and should be avoided if scripts from the same server are being run.
- A timout value should be passed to each individual script that determines after how much time the script should timeout.
You will need to place your [url removed, login to view] script will be placed in a web directory and will be called through the browser and linux command line to test it. A set of paths/urls and variables will be input to this [url removed, login to view] script. The output of [url removed, login to view] when run from the browser or linux command line will show the output for each indivudal script.
You need to provide a manual that describes step by step how to install your software to make it ready for use.
18 freelancers are bidding on average $1255 for this job
I have more than 7 years of professional experience in C++ programming and also PHP on different platforms especially Linux. I have written several multi-thread applications on Linux. So I have some code ready.
I have the perfect solution. I can get your request time down to under 6 seconds for 200 requests. I will even get it to work with Apache. You know I can do it.
I can delivery your solution. I am an expert C++ programmer on various Linux/Unix systems and worked with PHP extensively. I have also buit multi-threaded application keen on performance.