code: def test_function_import_without_importer_thread(shutdown_only):
      """Test that without background importer thread, dependencies can still be
      imported in workers."""
      ray.init(
          _system_config={
              "start_python_importer_thread": False,
          },
      )
  
      @ray.remote
      def f():
          import threading
  
          assert threading.get_ident() == threading.main_thread().ident
          # Make sure the importer thread is not running.
          for thread in threading.enumerate():
              assert "import" not in thread.name
  
      @ray.remote
      def g():
          ray.get(f.remote())
  
      ray.get(g.remote())
      ray.get([g.remote() for _ in range(5)])
  
imports: import logging
  import subprocess
  import sys
  import time
  from pathlib import Path
  import os
  import pytest
  from unittest import mock
  import ray
  import ray.cluster_utils
  from ray._private.test_utils import wait_for_condition
  from ray.autoscaler._private.constants import RAY_PROCESSES
  import psutil
label_desc: Use image node_id 3 for calling a global function with example usage: test_function_import_without_importer_thread(shutdown_only) without return types