mit einem Klick
airflow-workflow
// Execution guide for Airflow scheduled jobs — troubleshooting, updating, conn_id conventions, and cron references
// Execution guide for Airflow scheduled jobs — troubleshooting, updating, conn_id conventions, and cron references
| name | airflow-workflow |
| description | Execution guide for Airflow scheduled jobs — troubleshooting, updating, conn_id conventions, and cron references |
| tags | ["scheduler","airflow","workflow"] |
| version | 1.0.0 |
| user_invocable | false |
| allowed_agents | ["scheduler"] |
Execution guide for the scheduler subagent working with Airflow.
get_scheduler_job(job_id)list_job_runs(job_id, limit=5) to find the failed runget_run_log(job_id, run_id) for the failed run_idupdate_job()update_job(job_id, sql_file_path=..., job_name=..., conn_id=...)trigger_scheduler_job(job_id)list_job_runs(job_id, limit=1)get_scheduler_job(job_id) to see existing configpause_job(job_id) to prevent runs during updatewrite_file or edit_file to save the new SQL under
jobs/<job_name>.sqlupdate_job(job_id, sql_file_path=..., job_name=..., conn_id=...)resume_job(job_id) to re-enable schedulingdelete_job(job_id).delete_job returns success=0, report the
deletion as failed or incomplete. Do not claim completion or success.get_scheduler_job(job_id) if you
need a follow-up check. For Airflow, scheduling deletion is complete when
the job is not found or is inactive/deleted.list_scheduler_jobs may omit an Airflow DAG
after its file is removed even while Airflow metadata still exists and blocks
re-creation with the same job id.dag_id may not be immediately reusable via
submit; use update or retry cleanup if needed.delete_job owns Airflow DAG file
removal. For other files, use a dedicated delete-file tool if one is
available; otherwise report that file deletion is unavailable. Do not
overwrite or empty files as a substitute for deletion.conn_id)submit_sql_job and update_job require conn_id — the Airflow Connection ID for the target database.
The connection is managed entirely by Airflow (Admin > Connections) and resolved at runtime by the scheduler worker.
Available conn_id values are shown in the submit_sql_job and update_job tool descriptions (from scheduler.connections in agent.yml).
job_name: <frequency>_<domain>_<description>, e.g. daily_sales_summary, hourly_order_countjobs/<job_name>.sqlBefore calling submit_sql_job or update_job, create or update that SQL
file with write_file / edit_file. Do not ask the user to create the file
when filesystem tools are available.
| Schedule | Cron |
|---|---|
| Every day at 8am | 0 8 * * * |
| Every hour | 0 * * * * |
| Every 2 hours | 0 */2 * * * |
| Monday at 9am | 0 9 * * 1 |
| 1st of month at midnight | 0 0 1 * * |
| Goal | Tool |
|---|---|
| Create SQL file | write_file(path="jobs/<job_name>.sql", content=...) |
| Submit SQL job | submit_sql_job(job_name, sql_file_path, conn_id) |
| Submit SparkSQL job | submit_sparksql_job(job_name, sql_file_path) |
| Check job status | get_scheduler_job(job_id) |
| List all jobs | list_scheduler_jobs(limit=20) |
| Trigger manual run | trigger_scheduler_job(job_id) only when explicitly requested or troubleshooting |
| View run history | list_job_runs(job_id) |
| View run log | get_run_log(job_id, run_id) |
| Pause / Resume | pause_job(job_id) / resume_job(job_id) |
| Update job | update_job(job_id, sql_file_path, job_name, conn_id) |
| Delete job | delete_job(job_id) |
Create database tables from SQL (CTAS) or natural language descriptions
Generate MetricFlow metrics from natural language business descriptions
Generate MetricFlow semantic models from database tables with validation and Knowledge Base publishing
Activate when the gen_job agent detects that the source and target databases differ. Covers cross-database transfer lifecycle - type mapping via adapter Mixin hints, DDL generation, data transfer via transfer_query_result, and lightweight reconciliation.
Scheduler validator driven by ValidationHook — read-only static verification of scheduled jobs (schedule correctness, configuration, runtime context already collected by deterministic hook). Does not trigger test runs.
Create, view, and manage Grafana dashboards with panels and datasources