docstr: Returns information about the Lightly Worker run.
  
  Args:
      scheduled_run_id:
          ID of the scheduled run.
  
  Returns:
      Details of the Lightly Worker run.
  
  Examples:
      >>> # Scheduled a Lightly Worker run and get its state
      >>> scheduled_run_id = client.schedule_compute_worker_run(...)
      >>> run_info = client.get_compute_worker_run_info(scheduled_run_id)
      >>> print(run_info)
docstr_tok: ["Returns","information","about","the","Lightly","Worker","run",".","Args",":","scheduled_run_id",":","ID","of","the","scheduled","run",".","Returns",":","Details","of","the","Lightly","Worker","run",".","Examples",":",">",">",">","#","Scheduled","a","Lightly","Worker","run","and","get","its","state",">",">",">","scheduled_run_id","=","client.schedule_compute_worker_run","(","...",")",">",">",">","run_info","=","client.get_compute_worker_run_info","(","scheduled_run_id",")",">",">",">","print","(","run_info",")"]
code: def get_compute_worker_run_info(
      self, scheduled_run_id: str
  ) -> ComputeWorkerRunInfo:
      """Returns information about the Lightly Worker run.
  
      Args:
          scheduled_run_id:
              ID of the scheduled run.
  
      Returns:
          Details of the Lightly Worker run.
  
      Examples:
          >>> # Scheduled a Lightly Worker run and get its state
          >>> scheduled_run_id = client.schedule_compute_worker_run(...)
          >>> run_info = client.get_compute_worker_run_info(scheduled_run_id)
          >>> print(run_info)
  
      """
      """
          Because we currently (09/2022) have different Database entries for a ScheduledRun and DockerRun,
          the logic is more complicated and covers three cases.
          """
      try:
          # Case 1: DockerRun exists.
          docker_run: DockerRunData = (
              self._compute_worker_api.get_docker_run_by_scheduled_id(
                  scheduled_id=scheduled_run_id
              )
          )
          info = ComputeWorkerRunInfo(
              state=docker_run.state, message=docker_run.message
          )
      except ApiException:
          try:
              # Case 2: DockerRun does NOT exist, but ScheduledRun exists.
              _ = self._get_scheduled_run_by_id(scheduled_run_id)
              info = ComputeWorkerRunInfo(
                  state=DockerRunScheduledState.OPEN,
                  message="Waiting for pickup by Lightly Worker. "
                  "Make sure to start a Lightly Worker connected to your "
                  "user token to process the job.",
              )
          except ApiException:
              # Case 3: NEITHER the DockerRun NOR the ScheduledRun exist.
              info = ComputeWorkerRunInfo(
                  state=STATE_SCHEDULED_ID_NOT_FOUND,
                  message=f"Could not find a job for the given run_id: '{scheduled_run_id}'. "
                  "The scheduled run does not exist or was canceled before "
                  "being picked up by a Lightly Worker.",
              )
      return info
  
imports: import copy
  import dataclasses
  import difflib
  import json
  import time
  from functools import partial
  from typing import Any, Callable, Dict, Iterator, List, Optional, Type, TypeVar, Union
  from lightly.api import utils
  from lightly.openapi_generated.swagger_client.api_client import ApiClient
  from lightly.openapi_generated.swagger_client.models import CreateDockerWorkerRegistryEntryRequest, DockerRunData, DockerRunScheduledCreateRequest, DockerRunScheduledData, DockerRunScheduledPriority, DockerRunScheduledState, DockerRunState, DockerWorkerConfigV3, DockerWorkerConfigV3CreateRequest, DockerWorkerConfigV3Docker, DockerWorkerConfigV3Lightly, DockerWorkerRegistryEntryData, DockerWorkerType, SelectionConfigV3, SelectionConfigV3Entry, SelectionConfigV3EntryInput, SelectionConfigV3EntryStrategy, TagData
  from lightly.openapi_generated.swagger_client.rest import ApiException
label_desc: Use image node_id 13 for calling the _ComputeWorkerMixin obj's underlying member method code with example usage: obj.get_compute_worker_run_info(scheduled_run_id) and returns: info