(self)
The length of the queue is the number of tasks left for the queue to
        give out, regardless of where they are. Incomplete tasks are not part
        of the length.

        This takes the lock.
The length of the queue is the number of tasks left for the queue to
        give out, regardless of where they are. Incomplete tasks are not part
        of the length.
The length of the queue is the number of tasks left for the queue to give out regardless of where they are . Incomplete tasks are not part of the length .
def __len__(self) -> int:
        """The length of the queue is the number of tasks left for the queue to
        give out, regardless of where they are. Incomplete tasks are not part
        of the length.

        This takes the lock.
        """
        with self.lock:
            return len(self.graph) - len(self.in_progress)
def __len__ ( self ) -> int : with self . lock : return len ( self . graph ) - len ( self . in_progress )