Implementing 'acquire_lock' method and fixing workflow completion
* For sqlite it's based on eventlet semaphores * For other drivers it's assumed that at least READ_COMMITTED transactions are used * Engine method on_action_complete() now acquires lock on workflow execution object to prevent incorrect concurrent access causing problems in 'join' and 'timeout' policy Change-Id: I80bc317de4bfd2547f8529d8f2b3238a004d7522
This commit is contained in:
@@ -57,6 +57,15 @@ class WorkflowController(object):
|
||||
|
||||
return self._find_next_commands()
|
||||
|
||||
@abc.abstractmethod
|
||||
def all_errors_handled(self):
|
||||
"""Determines if all errors (if any) are handled.
|
||||
|
||||
:return: True if either there aren't errors at all or all
|
||||
errors are considered handled.
|
||||
"""
|
||||
raise NotImplementedError
|
||||
|
||||
@abc.abstractmethod
|
||||
def evaluate_workflow_final_context(self):
|
||||
"""Evaluates final workflow context assuming that workflow has finished.
|
||||
|
||||
Reference in New Issue
Block a user