dags/extensions.py (36 lines of code) (raw):

import datetime from airflow import DAG from operators.gcp_container_operator import GKEPodOperator docs = """ ### extensions Loads the table moz-fx-data-shared-prod.external_derived.chrome_extensions_v1 Note - if it fails, please alert the DAG owner, but do not re-run. Owner: kwindau@mozilla.com """ default_args = { "owner": "kwindau@mozilla.com", "start_date": datetime.datetime(2025, 4, 13, 0, 0), "end_date": None, "email": ["kwindau@mozilla.com"], "depends_on_past": False, "retry_delay": datetime.timedelta(seconds=1800), "email_on_failure": True, "email_on_retry": True, "retries": 2, } tags = ["impact/tier_3", "repo/telemetry-airflow"] SERVER = "moz-fx-data-airflow-prod-88e0" IMAGE_NAME = "extensions_docker_etl:latest" with DAG( "extensions", default_args=default_args, schedule_interval="0 15 * * *", doc_md=docs, tags=tags, ) as dag: pull_extensions = GKEPodOperator( task_id="pull_extensions", arguments=[ "python", "extensions/main.py", "--date", "{{ ds }}", ], image=f"gcr.io/{SERVER}/{IMAGE_NAME}", gcp_conn_id="google_cloud_airflow_gke", )