code: def test_get_context_dict(ray_start_regular):
      context_dict = ray.get_runtime_context().get()
      assert context_dict["node_id"] is not None
      assert context_dict["job_id"] is not None
      assert "actor_id" not in context_dict
      assert "task_id" not in context_dict
  
      @ray.remote
      class Actor:
          def check(self, node_id, job_id):
              context_dict = ray.get_runtime_context().get()
              assert context_dict["node_id"] == node_id
              assert context_dict["job_id"] == job_id
              assert context_dict["actor_id"] is not None
              assert context_dict["task_id"] is not None
              assert context_dict["actor_id"] != "not an ActorID"
  
      a = Actor.remote()
      ray.get(
          a.check.remote(
              context_dict["node_id"], context_dict["job_id"]
          )
      )
  
      @ray.remote
      def task(node_id, job_id):
          context_dict = ray.get_runtime_context().get()
          assert context_dict["node_id"] == node_id
          assert context_dict["job_id"] == job_id
          assert context_dict["task_id"] is not None
          assert "actor_id" not in context_dict
  
      ray.get(
          task.remote(context_dict["node_id"], context_dict["job_id"])
      )
  
imports: import ray
  import os
  import signal
  import time
  import sys
  import pytest
  import warnings
  from ray._private.test_utils import SignalActor
  from ray.util.scheduling_strategies import PlacementGroupSchedulingStrategy
  from ray.util.state import list_tasks
  from ray._private.test_utils import wait_for_condition
label_desc: Use image node_id 2 for calling a global function with example usage: test_get_context_dict(ray_start_regular) without return types