Use SQL server ?
Seriously if this is in a multi-user environment you would need to lock everybody out of being able to run this process once it has started, what if two people press the go button within a couple of minute of each other ?
So if you have them locked out just tell them when the process started and an estimated time of completion. Either that and/or put a completion flag in a table of your process steps, that you reset once the process is complete.