code: def mark_done(self, node_id):
          
          with self.lock:
              self.in_progress.remove(node_id)
              self.graph.remove_node(node_id)
              self._find_new_additions()
              self.inner.task_done()
docs: Given a node's unique ID, mark it as done.
  
          This method takes the lock.
  
          :param str node_id: The node ID to mark as complete.