code: def test_partial(workflow_start_regular_shared):
      ys = [1, 2, 3]
  
      def add(x, y):
          return x + y
  
      from functools import partial
  
      f1 = workflow.task(partial(add, 10)).task(10)
  
      assert "__anonymous_func__" in f1._name
      assert f1.run() == 20
  
      fs = [partial(add, y=y) for y in ys]
  
      @ray.remote
      def chain_func(*args, **kw_argv):
          # Get the first function as a start
          wf_task = workflow.task(fs[0]).task(*args, **kw_argv)
          for i in range(1, len(fs)):
              # Convert each function inside tasks into workflow task
              # function and then use the previous output as the input
              # for them.
              wf_task = workflow.task(fs[i]).task(wf_task)
          return wf_task
  
      assert workflow.run(chain_func.bind(1)) == 7
  
file_path: ray/python/ray/workflow/tests/test_basic_workflows.py
imports: import time
  from ray.tests.conftest import *
  from filelock import FileLock
  import pytest
  import ray
  from ray import workflow
label_desc: Use image node_id 3 for calling a global function with example usage: test_partial(workflow_start_regular_shared) and returns: unknown, wf_task