Правка ошибок

This commit is contained in:
2025-11-03 22:12:57 +03:00
parent 0ed1800523
commit 88db7419e2
+7 -6
View File
@@ -6,6 +6,7 @@ from datetime import datetime, timedelta
from airflow import DAG from airflow import DAG
from airflow.operators.python import PythonOperator from airflow.operators.python import PythonOperator
from airflow.operators.dummy import DummyOperator from airflow.operators.dummy import DummyOperator
from airflow.models.baseoperator import chain
import random import random
# Определение DAG # Определение DAG
@@ -35,7 +36,7 @@ def unreliable_task():
if random.random() < 0.3: # 30% вероятность ошибки if random.random() < 0.3: # 30% вероятность ошибки
print("Ошибка: задача не выполнена успешно!") print("Ошибка: задача не выполнена успешно!")
raise Exception("Случайная ошибка в задаче") raise Exception("Случайная ошибка в задаче")
print("Задача выполнена успешно!") print("Задача выполнена успешно!")
return "Задача выполнена" return "Задача выполнена"
@@ -55,12 +56,12 @@ def retry_task():
# Имитируем задачу, которая может завершиться с ошибкой, но со временем исправляется # Имитируем задачу, которая может завершиться с ошибкой, но со временем исправляется
import time import time
time.sleep(2) # Имитация работы time.sleep(2) # Имитация работы
# С вероятностью 50% задача завершится с ошибкой # С вероятностью 50% задача завершится с ошибкой
if random.random() < 0.5: if random.random() < 0.5:
print("Ошибка в retry_task!") print("Ошибка в retry_task!")
raise Exception("Ошибка в задаче с повторными попытками") raise Exception("Ошибка в задаче с повторными попытками")
print("retry_task выполнена успешно!") print("retry_task выполнена успешно!")
return "retry_task завершена" return "retry_task завершена"
@@ -102,6 +103,6 @@ end_task = DummyOperator(
) )
# Установка зависимостей # Установка зависимостей
start_task >> [unreliable_task, retry_task] # Используем chain, чтобы наглядно показать ученикам построение ветвящихся зависимостей без ручного перечисления операторов.
[unreliable_task, retry_task] >> [success_handler_task, failure_handler_task] chain(start_task, [unreliable_task, retry_task], [success_handler_task, failure_handler_task], end_task)
[success_handler_task, failure_handler_task] >> end_task