class_docstr: Waits for a Celery queue to be empty.
  
  By default, in order to be considered empty, the queue must not have
  any tasks in the ``reserved``, ``scheduled`` or ``active`` states.
  
  :param celery_queue: The name of the Celery queue to wait for.
  :param target_task_id: Task id for checking
code: def __init__(
      self,
      *,
      celery_queue: str,
      target_task_id: str | None = None,
      **kwargs,
  ) -> None:
      super().__init__(**kwargs)
      self.celery_queue = celery_queue
      self.target_task_id = target_task_id
  
file_path: airflow/airflow/providers/celery/sensors/celery_queue.py
imports: from __future__ import annotations
  from typing import TYPE_CHECKING
  from celery.app import control
  from airflow.exceptions import AirflowSkipException
  from airflow.sensors.base import BaseSensorOperator
label_desc: Use image node_id 1 to create a new CeleryQueueSensor object from inherited base classes: BaseSensorOperator with example: obj = CeleryQueueSensor()