I have a script which updates a web application. The web application is spread across 2 servers. Here is a rundown of the script
- The shell script updates the git repository.
- The shell script stops the application server.
- The shell script stops the web server.
- The shell script instructs the application server to checkout the latest git update.
- The shell script instructs the web server to checkout the latest git update.
- The shell script starts the application server.
- The shell script starts the web server.
Each of the 7 steps are done one after the other synchronously. The total run time is approximately 9 seconds. To reduce downtime however, many of these steps could be done asynchronously.
For example, step 4 and 5 could be done at the same time. I want to start step 4 and 5 asynchronously (e.g. running in the background), but I cannot find how to wait until they are both completed before going further.