气流不会 运行 dags
Airflow does not run dags
上下文:我在 EC2 上成功安装了 Airflow,将 executor 更改为 LocalExecutor; sql_alchemy_conn 到 postgresql+psycopg2://postgres@localhost:5432/airflow; max_threads 到 10。
我的问题是当我创建一个 dag 时我指示它是 运行 每天一切都很好,但是当我创建一个 dag 是 运行 就像在周一和周三上午 10 点时 Airflow 没有'不 运行 它。有谁知道我会做错什么以及我应该怎么做才能解决这个问题?
脚本的 Dag 运行 很好并且正确:
import airflow
from airflow import DAG
from airflow.operators.bash_operator import BashOperator
from datetime import timedelta
args = {
'owner': 'arseniyy123',
'start_date': airflow.utils.dates.days_ago(1),
'depends_on_past': False,
'email': ['exam@exam.com'],
'email_on_failure': False,
'email_on_retry': False,
'retries': 1,
'retry_delay': timedelta(minutes=1),
}
dag = DAG(
'daily_script',
default_args=args,
description = 'daily_script',
schedule_interval = "0 10 * * *",
)
t1 = BashOperator(
task_id='daily',
bash_command='cd /root/ && python3 DAILY_WORK.py',
dag=dag)
t1
脚本的 Dag 应该在周一和周三 运行,但它根本 运行:
import airflow
from airflow import DAG
from airflow.operators.bash_operator import BashOperator
from datetime import timedelta
args = {
'owner': 'arseniyy123',
'start_date': airflow.utils.dates.days_ago(1),
'depends_on_past': False,
'email': ['exam@exam.com'],
'email_on_failure': False,
'email_on_retry': False,
'retries': 1,
'retry_delay': timedelta(minutes=1),
}
dag = DAG(
'monday_wednesday',
default_args=args,
description = 'monday_wednesday',
schedule_interval = "0 10 * * 1,3",
)
t1 = BashOperator(
task_id='monday_wednesday',
bash_command='cd /root/ && python3 not_daily_work.py',
dag=dag)
t1
我也有一些关于 scheduler 的问题,它曾经在工作超过 10 小时后死机,有人知道为什么会这样吗?
提前致谢!
您能否尝试将 start_date
更改为静态日期时间,例如datetime.date(2020, 3, 20)
而不是使用 airflow.utils.dates.days_ago(1)
也许通读 the scheduling examples here,了解您的代码为何不起作用。来自该文档:
Let’s Repeat That The scheduler runs your job one schedule_interval
AFTER the start date, at the END of the period
上下文:我在 EC2 上成功安装了 Airflow,将 executor 更改为 LocalExecutor; sql_alchemy_conn 到 postgresql+psycopg2://postgres@localhost:5432/airflow; max_threads 到 10。
我的问题是当我创建一个 dag 时我指示它是 运行 每天一切都很好,但是当我创建一个 dag 是 运行 就像在周一和周三上午 10 点时 Airflow 没有'不 运行 它。有谁知道我会做错什么以及我应该怎么做才能解决这个问题?
脚本的 Dag 运行 很好并且正确:
import airflow
from airflow import DAG
from airflow.operators.bash_operator import BashOperator
from datetime import timedelta
args = {
'owner': 'arseniyy123',
'start_date': airflow.utils.dates.days_ago(1),
'depends_on_past': False,
'email': ['exam@exam.com'],
'email_on_failure': False,
'email_on_retry': False,
'retries': 1,
'retry_delay': timedelta(minutes=1),
}
dag = DAG(
'daily_script',
default_args=args,
description = 'daily_script',
schedule_interval = "0 10 * * *",
)
t1 = BashOperator(
task_id='daily',
bash_command='cd /root/ && python3 DAILY_WORK.py',
dag=dag)
t1
脚本的 Dag 应该在周一和周三 运行,但它根本 运行:
import airflow
from airflow import DAG
from airflow.operators.bash_operator import BashOperator
from datetime import timedelta
args = {
'owner': 'arseniyy123',
'start_date': airflow.utils.dates.days_ago(1),
'depends_on_past': False,
'email': ['exam@exam.com'],
'email_on_failure': False,
'email_on_retry': False,
'retries': 1,
'retry_delay': timedelta(minutes=1),
}
dag = DAG(
'monday_wednesday',
default_args=args,
description = 'monday_wednesday',
schedule_interval = "0 10 * * 1,3",
)
t1 = BashOperator(
task_id='monday_wednesday',
bash_command='cd /root/ && python3 not_daily_work.py',
dag=dag)
t1
我也有一些关于 scheduler 的问题,它曾经在工作超过 10 小时后死机,有人知道为什么会这样吗?
提前致谢!
您能否尝试将 start_date
更改为静态日期时间,例如datetime.date(2020, 3, 20)
而不是使用 airflow.utils.dates.days_ago(1)
也许通读 the scheduling examples here,了解您的代码为何不起作用。来自该文档:
Let’s Repeat That The scheduler runs your job one
schedule_interval
AFTER the start date, at the END of the period