class_docstr: A thread-safe task queue with duplicate detection.
  
  The life-cycle of a task starts with producers calling `enqueue`. Consumers
  call `dequeue` to obtain the tasks in FIFO order. When processing is complete,
  consumers must release the tasks by calling `task_done`.
class_docstr_tok: ["A","thread-safe","task","queue","with","duplicate","detection",".","The","life-cycle","of","a","task","starts","with","producers","calling","`","enqueue","`",".","Consumers","call","`","dequeue","`","to","obtain","the","tasks","in","FIFO","order",".","When","processing","is","complete",",","consumers","must","release","the","tasks","by","calling","`","task_done","`","."]
docstr: Returns `True` if the task queue contains a task with the given `task_id`.
  
  Args:
    task_id: A task id.
  
  Returns:
    `True` if a task with `task_id` was enqueued but `task_done` has not been
    invoked yet.
docstr_tok: ["Returns","`","True","`","if","the","task","queue","contains","a","task","with","the","given","`","task_id","`",".","Args",":","task_id",":","A","task","id",".","Returns",":","`","True","`","if","a","task","with","`","task_id","`","was","enqueued","but","`","task_done","`","has","not","been","invoked","yet","."]
code: def contains_task_id(self, task_id: task_lib.TaskId) -> bool:
      """Returns `True` if the task queue contains a task with the given `task_id`.
  
      Args:
        task_id: A task id.
  
      Returns:
        `True` if a task with `task_id` was enqueued but `task_done` has not been
        invoked yet.
      """
      with self._lock:
          return task_id in self._task_ids
  
file_path: tfx/tfx/orchestration/experimental/core/task_queue.py
imports: import queue
  import threading
  from typing import Optional
  from tfx.orchestration.experimental.core import task
label_desc: Use image node_id 5 for calling the TaskQueue obj's underlying member method code with example usage: obj.contains_task_id(task_id) and returns: unknown