in tools/cloud_functions/gcs_event_based_ingest/gcs_ocn_bq_ingest/common/utils.py [0:0]
def wait_on_bq_job_id(bq_client: bigquery.Client,
job_id: str,
table: bigquery.TableReference,
polling_timeout: int,
polling_interval: int = 1) -> bool:
""""
Wait for a BigQuery Job ID to complete.
Args:
bq_client: bigquery.Client
job_id: str the BQ job ID to wait on
table: bigquery.TableReference of table being loaded
polling_timeout: int number of seconds to poll this job ID
polling_interval: frequency to query the job state during polling
Returns:
bool: if the job ID has finished successfully. True if DONE without
errors, False if RUNNING or PENDING
Raises:
exceptions.BigQueryJobFailure if the job failed.
google.api_core.exceptions.NotFound if the job id cannot be found.