def _wait_for_results_chunk(self, job_id, page_token):
        MAX_RESULTS_PER_GET = 100000
        query_request = {
            'projectId': self._project_id,
            'jobId': job_id,
            'maxResults': MAX_RESULTS_PER_GET,
            'timeoutMs': 0
        }
        if page_token is not None:
            query_request['pageToken'] = page_token

        retries_remaining = 4
        while True:
            try:
                return self._execute_job_query(query_request)
            except BigQueryCommunicationError as e:
                if retries_remaining > 0:
                    sleep_seconds = 10
                    logging.warning(
                        ('Failed to communicate with BigQuery to retrieve '
                         'job %s. Retrying in %d seconds... (%d attempts '
                         'remaining)'), job_id, sleep_seconds,
                        retries_remaining)
                    time.sleep(sleep_seconds)
                    retries_remaining -= 1
                else:
                    raise e
Retrieve a single chunk of results from a completed BigQuery job.
dataset/ETHPy150Open m-lab/telescope/telescope/external.py/BigQueryJobResultCollector._wait_for_results_chunk