python/ray/workflow/step_executor.py
def resolve(self) -> Tuple[List, Dict]:
        """
        This function resolves the inputs for the code inside
        a workflow step (works on the callee side). For outputs from other
        workflows, we resolve them into object instances inplace.

        For each ObjectRef argument, the function returns both the ObjectRef
        and the object instance. If the ObjectRef is a chain of nested
        ObjectRefs, then we resolve it recursively until we get the
        object instance, and we return the *direct* ObjectRef of the
        instance. This function does not resolve ObjectRef
        inside another object (e.g. list of ObjectRefs) to give users some
        flexibility.

        Returns:
            Instances of arguments.
        """
        objects_mapping = []
        for static_workflow_ref in self.workflow_outputs:
            if static_workflow_ref._resolve_like_object_ref_in_args:
                # Keep it unresolved as an ObjectRef. Then we resolve it
                # later in the arguments, like how Ray does with ObjectRefs.
                obj = ray.put(_SelfDereference(static_workflow_ref))
            else:
                obj = _resolve_static_workflow_ref(static_workflow_ref)
            objects_mapping.append(obj)

        workflow_ref_mapping = _resolve_dynamic_workflow_refs(self.workflow_refs)

        with serialization_context.workflow_args_resolving_context(
            objects_mapping, workflow_ref_mapping
        ):
            # reconstruct input arguments under correct serialization context
            flattened_args: List[Any] = ray.get(self.args)

        # dereference arguments like Ray remote functions
        flattened_args = [
            ray.get(a) if isinstance(a, ObjectRef) else a for a in flattened_args
        ]
        return signature.recover_args(flattened_args)

        This function resolves the inputs for the code inside
        a workflow step (works on the callee side). For outputs from other
        workflows, we resolve them into object instances inplace.

        For each ObjectRef argument, the function returns both the ObjectRef
        and the object instance. If the ObjectRef is a chain of nested
        ObjectRefs, then we resolve it recursively until we get the
        object instance, and we return the *direct* ObjectRef of the
        instance. This function does not resolve ObjectRef
        inside another object (e.g. list of ObjectRefs) to give users some
        flexibility.

        Returns:
            Instances of arguments.
        
This function resolves the inputs for the code inside
a workflow step (works on the callee side). For outputs from other
workflows, we resolve them into object instances inplace.

For each ObjectRef argument, the function returns both the ObjectRef
and the object instance. If the ObjectRef is a chain of nested
ObjectRefs, then we resolve it recursively until we get the
object instance, and we return the *direct* ObjectRef of the
instance. This function does not resolve ObjectRef
inside another object  to give users some
flexibility.
This function resolves the inputs for the code inside a workflow step ( works on the callee side ) . For outputs from other workflows we resolve them into object instances inplace . For each ObjectRef argument the function returns both the ObjectRef and the object instance . If the ObjectRef is a chain of nested ObjectRefs then we resolve it recursively until we get the object instance and we return the * direct * ObjectRef of the instance . This function does not resolve ObjectRef inside another object to give users some flexibility .
def resolve(self) -> Tuple[List, Dict]:
        objects_mapping = []
        for static_workflow_ref in self.workflow_outputs:
            if static_workflow_ref._resolve_like_object_ref_in_args:
                obj = ray.put(_SelfDereference(static_workflow_ref))
            else:
                obj = _resolve_static_workflow_ref(static_workflow_ref)
            objects_mapping.append(obj)
        workflow_ref_mapping = _resolve_dynamic_workflow_refs(self.workflow_refs)
        with serialization_context.workflow_args_resolving_context(
            objects_mapping, workflow_ref_mapping
        ):
            flattened_args: List[Any] = ray.get(self.args)
        flattened_args = [
            ray.get(a) if isinstance(a, ObjectRef) else a for a in flattened_args
        ]
        return signature.recover_args(flattened_args)
def resolve ( self ) -> Tuple [ List , Dict ] : objects_mapping = [ ] for static_workflow_ref in self . workflow_outputs : if static_workflow_ref . _resolve_like_object_ref_in_args : obj = ray . put ( _SelfDereference ( static_workflow_ref ) ) else : obj = _resolve_static_workflow_ref ( static_workflow_ref ) objects_mapping . append ( obj ) workflow_ref_mapping = _resolve_dynamic_workflow_refs ( self . workflow_refs ) with serialization_context . workflow_args_resolving_context ( objects_mapping , workflow_ref_mapping ) : flattened_args : List [ Any ] = ray . get ( self . args ) flattened_args = [ ray . get ( a ) if isinstance ( a , ObjectRef ) else a for a in flattened_args ] return signature . recover_args ( flattened_args )
This function resolves the inputs for the code inside
a workflow step (works on the callee side).
This function resolves the inputs for the code inside a workflow step ( works on the callee side ) .
"""
        This function resolves the inputs for the code inside
        a workflow step (works on the callee side). For outputs from other
        workflows, we resolve them into object instances inplace.

        For each ObjectRef argument, the function returns both the ObjectRef
        and the object instance. If the ObjectRef is a chain of nested
        ObjectRefs, then we resolve it recursively until we get the
        object instance, and we return the *direct* ObjectRef of the
        instance. This function does not resolve ObjectRef
        inside another object (e.g. list of ObjectRefs) to give users some
        flexibility.

        Returns:
            Instances of arguments.
        """ # Keep it unresolved as an ObjectRef. Then we resolve it # later in the arguments, like how Ray does with ObjectRefs. # reconstruct input arguments under correct serialization context # dereference arguments like Ray remote functions
Instances of arguments.
Instances of arguments .
self