问题标签 [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.
python - 在 UI Airflow 中手动运行时在气流中运行 dag 时出错
我在气流中创建了一个 DAG,它使用 test 和 backfill 命令成功运行,但是当我从气流 UI 手动运行它时出错。我的问题有什么解决办法吗?注意,DAG 在 LocalExecutor 中运行。
UI 气流中的错误日志:
代码 DAG:
谢谢。
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 执行时间。
environment-variables - 环境变量中的气流配置不起作用
我尝试使用 ENV 变量来配置连接 url,我有一个预先配置了 alchemy_conn 和 broker_url 等的 ami,我已经将环境变量写入 /etc/environment 在从 amis 启动的实例中以覆盖 airflow.cfg 中的属性文件。我也能够从 python 代码访问变量。
但是在运行ariflow时似乎没有生效,也尝试重新启动进程但没有奏效,它仍然指向airflow.cfg文件中的那个
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
它会抛出错误:
我正在使用的软件包版本:
早些时候sql_alchemy_conn = db+postgresql://username:xxx@127.0.0.1:5432/airflow
确实为我工作 - 2个月前。我不知道现在是什么问题。
python-2.7 - 如何安排 dag 运行一年中一个月中的特定时间。即,一次
我正在尝试执行一个只需要运行一次的 dag。所以我将 dag 执行间隔设置为“@once”。但是,我收到此链接中提到的错误 - https://issues.apache.org/jira/browse/AIRFLOW-1400
现在我正在尝试传递确切的执行日期,如下所示:
这是抛出错误:
有人可以帮助解决这个问题。
谢谢,阿琼
airflow - Apache Airflow 集群的最低硬件要求
设置 Apache Airflow 集群的最低硬件要求是什么。
例如。集群中不同类型节点的 RAM、CPU、磁盘等。
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} 信息 - 子任务:
airflow - 气流网络服务器未启动
我已经通过 github 源安装了气流。我已经使用带有本地执行器的 mysql metadb 配置了气流。当我尝试启动我的网络服务器时,它无法启动。
安装.sh
气流.cfg:
当我尝试使用它启动我的网络服务器时,它显示了 ttou 信号处理和现有工作人员。
气流网络服务器-p 8080
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
我有两个问题:
- 如果执行日期搞砸了,我该如何解决它,使其恢复到午夜之后开始的正常时间表?
- 当我部署新的 DAG 时,如何确保它在午夜之后立即启动?