code: def setup_queue_actor():
      ray.init(num_cpus=1, object_store_memory=int(150 * 1024 * 1024))
  
      @ray.remote
      class Queue:
          def __init__(self):
              self.queue = []
  
          def enqueue(self, key, item):
              self.queue.append((key, item))
  
          def read(self):
              return self.queue
  
      queue = Queue.remote()
      # Make sure queue actor is initialized.
      ray.get(queue.read.remote())
  
      yield queue
  
      # The code after the yield will run as teardown code.
      ray.shutdown()
  
imports: import os
  import sys
  import time
  import numpy
  import pytest
  import ray
  import ray._private.gcs_utils
  from ray.util.state import list_actors
  import ray.cluster_utils
  from ray._private.test_utils import SignalActor, convert_actor_state, kill_actor_and_wait_for_failure, make_global_state_accessor, run_string_as_driver, wait_for_condition, wait_for_pid_to_exit
  from ray._private.ray_constants import gcs_actor_scheduling_enabled
  from ray.experimental.internal_kv import _internal_kv_get, _internal_kv_put
label_desc: Use image node_id 9 for calling a global function with example usage: setup_queue_actor() and returns: self