Chapter 2. Simple Chain
At first sight, chains might look a little intimidating. Often, there is a lot of code which can be difficult to go through when you are trying to identify particular problems or issues. But fear not, things are not as bad as they seem. Chains are useful and can reduce a number of potential issues.
In many systems, problems are hidden in the form of scheduled tasks that rely on one task to be completed before the next task is started. A nice example of this is a cold backup, which is performed in three individual sections:
1. Shut down the database.
2. Copy the database files to a remote location.
3. Start up the database.
In the example above, when the cold backup was implemented, step 2 originally took four minutes. Therefore, the administrator decided that step 3 could be started five minutes after step 1 was completed. However, after a few weeks the database grew bigger and the copy phase of the backup took 20 minutes. This is what we might call a time bomb. Everything...