code: def run_queue(self, pool):
          
          def callback(result):
              """Note: mark_done, at a minimum, must happen here or dbt will
              deadlock during ephemeral result error handling!
              """
              self._handle_result(result)
              self.job_queue.mark_done(result.node.unique_id)
  
          while not self.job_queue.empty():
              node = self.job_queue.get()
              self._raise_set_error()
              runner = self.get_runner(node)
              # we finally know what we're running! Make sure we haven't decided
              # to skip it due to upstream failures
              if runner.node.unique_id in self._skipped_children:
                  cause = self._skipped_children.pop(runner.node.unique_id)
                  runner.do_skip(cause=cause)
              args = (runner,)
              self._submit(pool, args, callback)
  
          # block on completion
          self.job_queue.join()
          # if an error got set during join(), raise it.
          self._raise_set_error()
  
          return
docs: Given a pool, submit jobs from the queue to the pool.