问题标签 [airflow-scheduler]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1418 浏览

python - 在 Airflow 中未按预期安排任务

这是定义的 hello-world dag python 文件:

命令行的当前日期时间(与安装 Airflow 的机器相同)是:

但是在 11:25:00 之后,仍然没有相应地安排此作业。如果我错了,任何人都可以帮助纠正我吗?谢谢!

PS我改成schedule_intervaltimedelta(minutes=5)当前时间是2017-10-23 12:36,然后我可以看到日志的时间如右图所示,这令人困惑。有什么解释吗?

在此处输入图像描述

0 投票
2 回答
1339 浏览

python - 在 UI Airflow 中手动运行时在气流中运行 dag 时出错

我在气流中创建了一个 DAG,它使用 test 和 backfill 命令成功运行,但是当我从气流 UI 手动运行它时出错。我的问题有什么解决办法吗?注意,DAG 在 LocalExecutor 中运行。

UI 气流中的错误日志:

代码 DAG:

谢谢。

0 投票
3 回答
9827 浏览

airflow - 如何在当地时间午夜而不是午夜 UTC 时间触发每日 DAG 运行

我在 UTC+4 时区,所以当 Airflow 触发每晚的 ETL 时,这里已经是凌晨 4:00。如何告诉 Airflow 在 ds-1 日 20:00 触发第 ds 日的运行,但使用 ds=ds?

根据文档,强烈建议将所有服务器保持在 UTC,这就是我正在寻找应用程序级解决方案的原因。

编辑:一个 hacky 解决方案是将其定义为每天晚上 20:00 运行,因此是“前一天”,然后在工作中使用tomorrow_ds而不是使用ds。但这在 Airflow UI 上看起来仍然很奇怪,因为这将显示 UTC 执行时间。

0 投票
1 回答
5881 浏览

environment-variables - 环境变量中的气流配置不起作用

我尝试使用 ENV 变量来配置连接 url,我有一个预先配置了 alchemy_conn 和 broker_url 等的 ami,我已经将环境变量写入 /etc/environment 在从 amis 启动的实例中以覆盖 airflow.cfg 中的属性文件。我也能够从 python 代码访问变量。

但是在运行ariflow时似乎没有生效,也尝试重新启动进程但没有奏效,它仍然指向airflow.cfg文件中的那个

0 投票
1 回答
9175 浏览

sqlalchemy - 从气流连接 postgres db 时出错

使用:

sql_alchemy_conn = db+postgresql://username:xxx@127.0.0.1:5432/airflow 给出错误:

sqlalchemy.exc.NoSuchModuleError:无法加载插件:sqlalchemy.dialects:db.postgresql

使用时:

sql_alchemy_conn = postgresql+psycopg2://username:xxx@localhost:5432/airflow 我可以运行airlfow webserver -p 8080但是在运行调度程序时:airflow scheduler它会抛出错误:

ModuleNotFoundError:没有名为“MySQLdb”的模块 在此处输入图像描述

我正在使用的软件包版本:

早些时候sql_alchemy_conn = db+postgresql://username:xxx@127.0.0.1:5432/airflow确实为我工作 - 2个月前。我不知道现在是什么问题。

0 投票
2 回答
927 浏览

python-2.7 - 如何安排 dag 运行一年中一个月中的特定时间。即,一次

我正在尝试执行一个只需要运行一次的 dag。所以我将 dag 执行间隔设置为“@once”。但是,我收到此链接中提到的错误 - https://issues.apache.org/jira/browse/AIRFLOW-1400

现在我正在尝试传递确切的执行日期,如下所示:

这是抛出错误:

有人可以帮助解决这个问题。

谢谢,阿琼

0 投票
2 回答
11422 浏览

airflow - Apache Airflow 集群的最低硬件要求

设置 Apache Airflow 集群的最低硬件要求是什么。

例如。集群中不同类型节点的 RAM、CPU、磁盘等。

0 投票
0 回答
1589 浏览

python - 气流调度程序没有收到 dags

我目前在 Airflow DAG 执行方面遇到一些问题。这是错误代码,我附上了气流 UI 行为:

DAG 定义:default_args = { 'owner': 'Analytics', 'depends_on_past': False, 'retries': 3, 'retry_delay': timedelta(minutes=1), 'start_date': suite_start_date } main_dag = DAG(dag_id=suite_name , default_args=default_args, schedule_interval=suite_schedule, dagrun_timeout=timedelta(minutes=60), max_active_runs=1)

我正在从用户输入创建动态 DAG:气流动态 DAG 和任务 ID

start_time 和 schedule_interval 在我的 Airflow 设置中是动态的。


19, 52, 22, 495538)), ('Process_Hourly.process_hourly_1_meta', 'install_device_attribution_ff', datetime.datetime(2017, 11, 14, 19, 52, 22, 495538))} [2017-11-14 20:26 :34,622] {base_task_runner.py:95} 信息 - 子任务:[2017-11-14 20:26:34,622] {base_task_runner.py:95} 信息 - 子任务:/usr/local/lib/python3.6/site- packages/airflow/www/app.py:23:FlaskWTFDeprecationWarning:“flask_wtf.CsrfProtect”已重命名为“CSRFProtect”并将在 1.0 中删除。[2017-11-14 20:26:34,622] {base_task_runner.py:95} 信息 - 子任务:csrf = CsrfProtect() [2017-11-14 20:26:34,622] {base_task_runner.py:95} 信息 - 子任务:/usr/local/lib/python3.6/site-packages/airflow/ti_deps/deps/base_ti_dep.py:100:DeprecationWarning:生成器“_get_dep_statuses”引发了 StopIteration [2017-11-14 20:26:34,622] {base_task_runner .py:95} 信息 - 子任务:

气流任务状态 在此处输入图像描述



在此处输入图像描述

0 投票
1 回答
3391 浏览

airflow - 气流网络服务器未启动

我已经通过 github 源安装了气流。我已经使用带有本地执行器的 mysql metadb 配置了气流。当我尝试启动我的网络服务器时,它无法启动。

安装.sh

气流.cfg:

当我尝试使用它启动我的网络服务器时,它显示了 ttou 信号处理和现有工作人员。

气流网络服务器-p 8080

0 投票
0 回答
788 浏览

python - apache气流执行日期有微秒

我一直在使用默认设置部署我的 DAG,但有时 DAG 会不同步并以奇怪的执行日期开始运行,例如 11-21T11:12:33.877171但除其他运行之外的所有运行的执行日期都采用以下格式MM-DDT00:00:00

我没有设置计划间隔,所以它使用默认值:

schedule_interval=datetime.timedelta(1)

我也总是将我的开始日期设置为日期时间,例如:

'start_date': datetime(2017, 9, 6)

一旦第一次运行发生在新的奇怪执行日期,那么所有后续运行都会在该执行日期之后运行一个计划间隔,而不是像我想要的那样在午夜运行。

此外,有时当我部署新的 DAG 并且第一个执行日期不是时也会发生此问题MM-DDT00:00:00

我有两个问题:

  1. 如果执行日期搞砸了,我该如何解决它,使其恢复到午夜之后开始的正常时间表?
  2. 当我部署新的 DAG 时,如何确保它在午夜之后立即启动?