in reply to Crash immunity
What I did is carefully analyze "unit of work" in my system, and number my execution steps.
When you start your script always pass "step' as one of the parameter (or some other way, to pass the step number to the script, for example storing in a database table etc). the script just start itself from the given step.
At the beginning the step numbers might be whole bunch of zeros. When your script is running, it has to update the step numbers periodically, when a "unit of work" is completed sucessfully.
"Step number" is not neccessary to be one number, actually it can be a set of number (for me usually two or three numbers), so you can have sub-steps within a step. This is simple and very useful, most of my programs are restartable.
The most important thing here is to identify your "unit of work".
|
|---|