code: def remove_temporary_task_dirs(
      stateful_working_dir: str = "", tmp_dir: str = ""
  ) -> None:
      """Removes temporary directories created for the task."""
      if stateful_working_dir:
          try:
              fileio.rmtree(stateful_working_dir)
          except fileio.NotFoundError:
              logging.warning(
                  "stateful_working_dir %s not found, ignoring.",
                  stateful_working_dir,
              )
      if tmp_dir:
          try:
              fileio.rmtree(tmp_dir)
          except fileio.NotFoundError:
              logging.warning(
                  "tmp_dir %s not found while attempting to delete, ignoring."
              )
  
imports: from __future__ import annotations
  from typing import Optional
  from absl import logging
  from tfx.dsl.io import fileio
  from tfx.orchestration import data_types_utils
  from tfx.orchestration import metadata
  from tfx.orchestration.experimental.core import component_generated_alert_pb2
  from tfx.orchestration.experimental.core import constants
  from tfx.orchestration.experimental.core import event_observer
  from tfx.orchestration.experimental.core import garbage_collection
  from tfx.orchestration.experimental.core import mlmd_state
  from tfx.orchestration.experimental.core import task
  from tfx.orchestration.experimental.core import task_scheduler
  from tfx.orchestration.portable import data_types
  from tfx.orchestration.portable import execution_publish_utils
  from tfx.orchestration.portable.mlmd import execution_lib
  from tfx.proto.orchestration import execution_result_pb2
  from tfx.utils import status
  from tfx.utils import typing_utils
  from ml_metadata import proto
label_desc: Use image node_id 4 for calling a global function with example usage: remove_temporary_task_dirs(stateful_working_dir, tmp_dir) without return types