Complex workflows are composed of a plurality of idempotent actions. During execution of the complex workflows, a computing system accesses the plurality of idempotent actions and determines whether corresponding guard conditions for triggering processing of the idempotent action are satisfied. When satisfied, a lock is taken on one or more resources used for executing the idempotent code of the idempotent action and execution of the idempotent code is initiated. Thereafter, upon successful execution of the idempotent code, the corresponding record is updated to reflect execution of the idempotent action and the lock is released. When execution of the idempotent action is unsuccessful, an exception is logged and the lock is released.
展开▼