class_docstr: BigQueryIntervalCheckTrigger run on the trigger worker, inherits from BigQueryInsertJobTrigger class.
  
  :param conn_id: Reference to google cloud connection id
  :param first_job_id:  The ID of the job 1 performed
  :param second_job_id:  The ID of the job 2 performed
  :param project_id: Google Cloud Project where the job is running
  :param dataset_id: The dataset ID of the requested table. (templated)
  :param table: table name
  :param metrics_thresholds: dictionary of ratios indexed by metrics
  :param date_filter_column: column name. (templated)
  :param days_back: number of days between ds and the ds we want to check against. (templated)
  :param ratio_formula: ration formula. (templated)
  :param ignore_zero: boolean value to consider zero or not. (templated)
  :param table_id: The table ID of the requested table. (templated)
  :param poll_interval: polling period in seconds to check for the status. (templated)
  :param impersonation_chain: Optional service account to impersonate using short-term
      credentials, or chained list of accounts required to get the access_token
      of the last account in the list, which will be impersonated in the request.
      If set as a string, the account must grant the originating account
      the Service Account Token Creator IAM role.
      If set as a sequence, the identities from the list must grant
      Service Account Token Creator IAM role to the directly preceding identity, with first
      account from the list granting this role to the originating account. (templated)
class_docstr_tok: ["BigQueryIntervalCheckTrigger","run","on","the","trigger","worker",",","inherits","from","BigQueryInsertJobTrigger","class",".",":","param","conn_id",":","Reference","to","google","cloud","connection","id",":","param","first_job_id",":","The","ID","of","the","job","1","performed",":","param","second_job_id",":","The","ID","of","the","job","2","performed",":","param","project_id",":","Google","Cloud","Project","where","the","job","is","running",":","param","dataset_id",":","The","dataset","ID","of","the","requested","table",".","(","templated",")",":","param","table",":","table","name",":","param","metrics_thresholds",":","dictionary","of","ratios","indexed","by","metrics",":","param","date_filter_column",":","column","name",".","(","templated",")",":","param","days_back",":","number","of","days","between","ds","and","the","ds","we","want","to","check","against",".","(","templated",")",":","param","ratio_formula",":","ration","formula",".","(","templated",")",":","param","ignore_zero",":","boolean","value","to","consider","zero","or","not",".","(","templated",")",":","param","table_id",":","The","table","ID","of","the","requested","table",".","(","templated",")",":","param","poll_interval",":","polling","period","in","seconds","to","check","for","the","status",".","(","templated",")",":","param","impersonation_chain",":","Optional","service","account","to","impersonate","using","short-term","credentials",",","or","chained","list","of","accounts","required","to","get","the","access_token","of","the","last","account","in","the","list",",","which","will","be","impersonated","in","the","request",".","If","set","as","a","string",",","the","account","must","grant","the","originating","account","the","Service","Account","Token","Creator","IAM","role",".","If","set","as","a","sequence",",","the","identities","from","the","list","must","grant","Service","Account","Token","Creator","IAM","role","to","the","directly","preceding","identity",",","with","first","account","from","the","list","granting","this","role","to","the","originating","account",".","(","templated",")"]
code: def __init__(
      self,
      conn_id: str,
      first_job_id: str,
      second_job_id: str,
      project_id: str | None,
      table: str,
      metrics_thresholds: dict[str, int],
      date_filter_column: str | None = "ds",
      days_back: SupportsAbs[int] = -7,
      ratio_formula: str = "max_over_min",
      ignore_zero: bool = True,
      dataset_id: str | None = None,
      table_id: str | None = None,
      poll_interval: float = 4.0,
      impersonation_chain: str | Sequence[str] | None = None,
  ):
      super().__init__(
          conn_id=conn_id,
          job_id=first_job_id,
          project_id=project_id,
          dataset_id=dataset_id,
          table_id=table_id,
          poll_interval=poll_interval,
          impersonation_chain=impersonation_chain,
      )
      self.conn_id = conn_id
      self.first_job_id = first_job_id
      self.second_job_id = second_job_id
      self.project_id = project_id
      self.table = table
      self.metrics_thresholds = metrics_thresholds
      self.date_filter_column = date_filter_column
      self.days_back = days_back
      self.ratio_formula = ratio_formula
      self.ignore_zero = ignore_zero
  
imports: from __future__ import annotations
  import asyncio
  from typing import Any, AsyncIterator, Sequence, SupportsAbs
  from aiohttp import ClientSession
  from aiohttp.client_exceptions import ClientResponseError
  from airflow.providers.google.cloud.hooks.bigquery import BigQueryAsyncHook, BigQueryTableAsyncHook
  from airflow.triggers.base import BaseTrigger, TriggerEvent
label_desc: Use image node_id 1 to create a new BigQueryIntervalCheckTrigger object from inherited base classes: BigQueryInsertJobTrigger with example: obj = BigQueryIntervalCheckTrigger(conn_id, first_job_id, second_job_id, project_id, table, metrics_thresholds, date_filter_column, days_back, ratio_formula, ignore_zero, dataset_id, table_id, poll_interval, impersonation_chain)