1. A method, comprising: for a first task for a process that is executing multiple first actions, in response to determining that a first action from the multiple first actions has finished, determining whether the first action that finished is long running; and in response to determining that the first action that finished is long running, storing first checkpoint data from the first task to establish a first restart point at a first time; for a second task for the process that is executing multiple second actions and is executing in parallel with the first task, in response to determining that a second action from the multiple second actions has finished, determining whether the second action that finished is long running; and in response to determining that the second action that finished is long running, storing second checkpoint data from the second task to establish a second restart point at a second time; merging the first checkpoint data and the second checkpoint data to create a checkpoint file; and in response to restarting the process, restarting the first task at the first restart point and the second task at the second restart point using the checkpoint file.