code: def test_run_or_resume_during_running(
      workflow_start_regular_shared, tmp_path
  ):
      @ray.remote
      def source1():
          return "[source1]"
  
      @ray.remote
      def append1(x):
          return x + "[append1]"
  
      @ray.remote
      def append2(x):
          return x + "[append2]"
  
      @ray.remote
      def simple_sequential():
          with FileLock(tmp_path / "lock"):
              x = source1.bind()
              y = append1.bind(x)
              return workflow.continuation(append2.bind(y))
  
      with FileLock(tmp_path / "lock"):
          output = workflow.run_async(
              simple_sequential.bind(), workflow_id="running_workflow"
          )
          with pytest.raises(RuntimeError):
              workflow.run_async(
                  simple_sequential.bind(),
                  workflow_id="running_workflow",
              )
          with pytest.raises(RuntimeError):
              workflow.resume_async(workflow_id="running_workflow")
      assert ray.get(output) == "[source1][append1][append2]"
  
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 4 for calling a global function with example usage: test_run_or_resume_during_running(workflow_start_regular_shared, tmp_path) and returns: str, unknown, unknown, workflow