def decision_task_from_description(description): token = description.get('taskToken', None) if not token: return None process = AmazonSWFProcess.from_description(description) return DecisionTask(process, context={'token': token})
def activity_task_from_description(description): token = description.get('taskToken', None) if not token: return None activity_id = description['activityId'] activity = description['activityType']['name'] input = json.loads(description.get('input')) if description.get('input', None) else None activity_execution = ActivityExecution(activity=activity, id=activity_id, input=input) pid = AmazonSWFProcess.pid_from_description(description['workflowExecution']) return ActivityTask(activity_execution=activity_execution, process_id=pid, context={'token': token})
def _process_from_description(self, description): # get and fill in event history history = self._workflow_execution_history(description) description.update(history) process = AmazonSWFProcess.from_description(description) return process