Bird
Raised Fist0
Apache Airflowdevops~5 mins

Debugging with Airflow CLI - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the purpose of the Airflow CLI command airflow tasks test?
It runs a single task instance for a specific DAG and execution date without scheduling. This helps to debug the task by executing it immediately and seeing the output.
Click to reveal answer
beginner
How can you view the logs of a specific task instance using Airflow CLI?
Use the command airflow tasks logs <dag_id> <task_id> <execution_date> to fetch and display the logs for that task instance.
Click to reveal answer
beginner
What does the Airflow CLI command airflow dags list do?
It lists all the DAGs currently available in Airflow. This helps to confirm if your DAG is recognized by Airflow before debugging tasks.
Click to reveal answer
intermediate
Which Airflow CLI command helps you to clear the state of a task instance to rerun it?
The command airflow tasks clear <dag_id> <task_id> --start-date <date> --end-date <date> clears the task state, allowing it to be rerun.
Click to reveal answer
intermediate
Why is it useful to run airflow tasks test instead of triggering the whole DAG?
Running airflow tasks test isolates the task execution, so you can quickly debug and fix issues without waiting for the entire DAG to run or affect downstream tasks.
Click to reveal answer
Which command shows logs for a specific Airflow task instance?
Aairflow tasks logs <dag_id> <task_id> <execution_date>
Bairflow dags list
Cairflow tasks test <dag_id> <task_id> <execution_date>
Dairflow tasks clear <dag_id> <task_id>
What does airflow tasks test do?
AStarts the Airflow webserver
BLists all DAGs
CClears task states
DRuns a single task instance immediately for debugging
How do you clear a task's state to rerun it?
Aairflow tasks test <dag_id> <task_id> <execution_date>
Bairflow tasks clear <dag_id> <task_id> --start-date <date> --end-date <date>
Cairflow dags list
Dairflow tasks logs <dag_id> <task_id> <execution_date>
Which command lists all DAGs in Airflow?
Aairflow tasks clear
Bairflow tasks test
Cairflow dags list
Dairflow tasks logs
Why is running a single task with airflow tasks test helpful?
AIt isolates the task for quick debugging without running the whole DAG
BIt schedules the entire DAG
CIt clears all task states
DIt shows the DAG structure
Explain how you would debug a failing task in Airflow using the CLI.
Think about running, checking logs, and resetting task state.
You got /4 concepts.
    Describe the steps to view logs and rerun a task in Airflow CLI.
    Focus on commands for logs, clearing, and testing tasks.
    You got /3 concepts.

      Practice

      (1/5)
      1. What is the primary purpose of the Airflow CLI command airflow tasks list DAG_ID?
      easy
      A. To show logs of a specific task
      B. To run all tasks in a DAG immediately
      C. To clear all task instances in a DAG
      D. To display all tasks in a specific DAG

      Solution

      1. Step 1: Understand the command structure

        The command airflow tasks list DAG_ID is used to list tasks related to the DAG identified by DAG_ID.
      2. Step 2: Identify the command's function

        This command shows all tasks defined in the DAG, helping users see what tasks exist.
      3. Final Answer:

        To display all tasks in a specific DAG -> Option D
      4. Quick Check:

        List tasks = Display tasks [OK]
      Hint: List tasks to see all steps in a DAG quickly [OK]
      Common Mistakes:
      • Confusing 'list' with 'run' to execute tasks
      • Thinking it clears tasks instead of listing
      • Assuming it shows logs instead of task names
      2. Which of the following is the correct Airflow CLI command to view logs for a task named task1 in DAG example_dag for execution date 2023-01-01T00:00:00?
      easy
      A. airflow tasks logs example_dag task1 2023-01-01T00:00:00
      B. airflow logs example_dag task1 2023-01-01T00:00:00
      C. airflow task logs example_dag task1 2023-01-01T00:00:00
      D. airflow tasks log example_dag task1 2023-01-01T00:00:00

      Solution

      1. Step 1: Recall the correct Airflow CLI syntax for logs

        The correct command to view logs is airflow tasks logs DAG_ID TASK_ID EXECUTION_DATE.
      2. Step 2: Match the command with the options

        airflow tasks logs example_dag task1 2023-01-01T00:00:00 matches the exact syntax with correct keywords and parameters.
      3. Final Answer:

        airflow tasks logs example_dag task1 2023-01-01T00:00:00 -> Option A
      4. Quick Check:

        Correct syntax for logs = airflow tasks logs example_dag task1 2023-01-01T00:00:00 [OK]
      Hint: Use 'tasks logs' to view task logs with DAG and date [OK]
      Common Mistakes:
      • Using 'logs' without 'tasks' keyword
      • Misspelling 'tasks' as 'task'
      • Using 'log' instead of 'logs'
      3. What will be the output of the command airflow tasks clear example_dag -t task1 -s 2023-01-01 -e 2023-01-02?
      medium
      A. It runs task1 in example_dag for the specified dates
      B. It lists all tasks in example_dag between the given dates
      C. It clears all task instances of task1 in example_dag between 2023-01-01 and 2023-01-02
      D. It shows logs of task1 for the specified dates

      Solution

      1. Step 1: Understand the 'tasks clear' command

        The command airflow tasks clear removes task instance states, allowing rerun.
      2. Step 2: Analyze the options -t, -s, -e

        -t specifies the task, -s and -e specify start and end dates for clearing task instances.
      3. Final Answer:

        It clears all task instances of task1 in example_dag between 2023-01-01 and 2023-01-02 -> Option C
      4. Quick Check:

        Clear task instances = It clears all task instances of task1 in example_dag between 2023-01-01 and 2023-01-02 [OK]
      Hint: Clear tasks with -t for task and -s/-e for date range [OK]
      Common Mistakes:
      • Confusing clear with run or list commands
      • Ignoring date range flags -s and -e
      • Assuming it shows logs instead of clearing
      4. You run airflow tasks run example_dag task1 2023-01-01 but get an error saying the task instance does not exist. What is the most likely cause?
      medium
      A. The command syntax is incorrect and missing required flags
      B. The DAG is not loaded or paused, so the task instance is missing
      C. The execution date format is wrong and not recognized
      D. The task1 does not exist in any DAG

      Solution

      1. Step 1: Understand task instance creation

        Task instances exist only if the DAG is loaded and active (not paused).
      2. Step 2: Identify why instance might be missing

        If the DAG is paused or not loaded, the task instance for the date won't exist, causing the error.
      3. Final Answer:

        The DAG is not loaded or paused, so the task instance is missing -> Option B
      4. Quick Check:

        Missing instance = DAG paused/not loaded [OK]
      Hint: Check DAG status; paused DAGs block task instances [OK]
      Common Mistakes:
      • Assuming syntax error without checking DAG state
      • Blaming date format without verifying
      • Thinking task1 is missing from DAG
      5. You want to debug a failed task task2 in DAG data_pipeline for execution date 2023-06-15T12:00:00. Which sequence of Airflow CLI commands helps you clear the failed task, rerun it, and then view its logs?
      hard
      A. airflow tasks clear data_pipeline -t task2 -s 2023-06-15T12:00:00 -e 2023-06-15T12:00:00 && airflow tasks run data_pipeline task2 2023-06-15T12:00:00 && airflow tasks logs data_pipeline task2 2023-06-15T12:00:00
      B. airflow tasks run data_pipeline task2 2023-06-15T12:00:00 && airflow tasks clear data_pipeline -t task2 -s 2023-06-15T12:00:00 -e 2023-06-15T12:00:00 && airflow tasks logs data_pipeline task2 2023-06-15T12:00:00
      C. airflow tasks logs data_pipeline task2 2023-06-15T12:00:00 && airflow tasks clear data_pipeline -t task2 -s 2023-06-15T12:00:00 -e 2023-06-15T12:00:00 && airflow tasks run data_pipeline task2 2023-06-15T12:00:00
      D. airflow tasks clear data_pipeline -t task2 && airflow tasks logs data_pipeline task2 2023-06-15T12:00:00 && airflow tasks run data_pipeline task2 2023-06-15T12:00:00

      Solution

      1. Step 1: Clear the failed task instance for the exact execution date

        Use airflow tasks clear with task name and exact start/end date to reset the failed task.
      2. Step 2: Run the cleared task instance

        Use airflow tasks run with DAG, task, and execution date to rerun the task.
      3. Step 3: View the logs of the rerun task

        Use airflow tasks logs to check the output and debug information.
      4. Final Answer:

        Clear, then run, then logs in sequence with correct dates -> Option A
      5. Quick Check:

        Clear -> Run -> Logs = airflow tasks clear data_pipeline -t task2 -s 2023-06-15T12:00:00 -e 2023-06-15T12:00:00 && airflow tasks run data_pipeline task2 2023-06-15T12:00:00 && airflow tasks logs data_pipeline task2 2023-06-15T12:00:00 [OK]
      Hint: Clear failed task first, then run, then check logs [OK]
      Common Mistakes:
      • Running task before clearing causes rerun failure
      • Checking logs before rerun shows old failure logs
      • Omitting date range in clear command
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard