问题标签 [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 - 在 Airflow 中实现等待直到满足某个标准的有效方法
Airflow 中的传感器- 是一种特定类型的操作员,它将一直运行直到满足特定标准,但它们会占用一个完整的工作槽。好奇人们是否能够可靠地使用更有效的方法来实现这一点。
我脑海中的一些想法
- 使用池来限制分配给传感器的工作槽数量
- 跳过下游的所有任务,然后通过外部触发器清除和恢复
- 暂停 DAG 的运行并通过外部触发器再次恢复
其他相关链接:
airflow - 如何创建 Airflow 只读用户?
有没有办法在 Airflow 中创建只读用户?我看到有一些关于 Airflow 2.0 的讨论https://cwiki.apache.org/confluence/display/AIRFLOW/Airflow+2.0 有谁知道这是否已包含在 1.9 中?我们目前使用的是 1.8。
airflow - 仅运行最新的 Airflow DAG
假设我想用 Airflow 运行一个非常简单的 ETL DAG:它检查 DB2 中的最后插入时间,如果有的话,它会将更新的行从 DB1 加载到 DB2。
有一些可以理解的要求:
- 它每小时安排一次,前几次运行将持续超过 1 小时
- 例如。第一次运行应该处理一个月的数据,并且持续72小时,
- 所以第二次运行应该处理最后 72 小时,持续 7.2 小时,
- 第三个过程7.2小时,一个小时内完成,
- 从那时起,它每小时运行一次。
- 在 DAG 运行时,不要启动下一个,而是跳过它。
- 如果超过触发事件的时间,DAG 没有启动,以后不要启动它。
- 还有其他的 DAG,DAG 应该独立执行。
我发现这些参数和运算符有点混乱,它们之间有什么区别?
depends_on_past
catchup
backfill
LatestOnlyOperator
我应该使用哪个,以及哪个 LocalExecutor?
附言。已经有一个非常相似的线程,但并不令人筋疲力尽。
django - 想用单个脚本运行多个命令
我正在创建一个用于设置和运行整个 Django 项目的脚本。
我在脚本中提到了三个命令。一对一执行....
命令:
我使用 nohup 作为气流网络服务器和调度程序在后台运行
所有三个命令都根据要求一一运行,但问题是气流调度程序运行脚本时停止点。
是否有任何命令或东西可以用来在带有停止点的单个脚本中运行所有命令。
python - 气流工作器配置
我是气流的新手。我正在尝试通过参考这篇文章https://stlong0521.github.io/20161023%20-%20Airflow.html使用 Celery Executor 设置气流的分布式模式
在详细了解规范之前,我想确认我已经在单独的实例上安装了 PostgreSQL。
设置的规格详述如下:
气流核心/服务器计算机
- 蟒蛇 3.5
- 气流(AIRFLOW_HOME = ~/airflow)
- 芹菜
- 精神科gp2
- 兔MQ
在 airflow.cfg 中进行的配置:
进行的测试:
气流工作者计算机
已安装以下内容:
- Python 3.5 与
- 气流(AIRFLOW_HOME = ~/airflow)
- 芹菜
- 精神科gp2
airflow.cfg 中的配置与服务器中的配置完全相同:
在工作机器上运行的命令的输出:
运行气流花时:
我在Airflow Core 机器中传递 dag,并且我已经将 dag 将处理的示例数据(Excel 表)复制到同一台核心机器。
我的工人日志
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command 'airflow run dag_name_x task_name_xx 2018-02-19T10:15:41.657243 --local -sd /home/Distributedici/airflow/dags/sample_data_xx.py' returned non-zero exit status 1
现在我的查询是
1)我是否也应该将 dag 文件夹复制到工作计算机
2)现在,我还没有复制工作计算机上的 dag 文件夹,我无法看到工作进程接收任务。
请指出我在哪里犯了错误以及如何让工作进程接手该进程。
cron - 通过适当的调度运行气流 DAG
我正在使用 Airflow 并且在安排我的 DAG 时遇到问题。我有一个 DAG,我想在每个星期日 00:00 运行,这是我的代码
我尝试使用与上周不同的“start_date”,但该任务在周末没有运行。还有另一个 DAG,我想在每天的特定时间(凌晨 4:30)运行,我有这个代码。
他们都没有按预期工作。我已经阅读了 Airflow 文档,但不了解这些不同的调度案例是如何工作的。
谁能给我一个关于这些“start_date”和“schedule_interval”如何在气流中实际协同工作的简要想法?有没有其他有效的方法来处理气流中的这两个参数?
python - Airflow 1.9.0 ExternalTaskSensor Soft_Fail=True 无重试行为
我正在研究一个依赖于另一个 DAG 的 DAG。因此,我使用的是 ExternalTaskSensor。然而,在使用这个传感器时,我注意到了一些奇怪的行为;
如果将 soft_fail 参数设置为 True(如果任务失败,它会将状态设置为已跳过而不是失败),该任务将永远不会重试。虽然我希望任务重试指定的次数(通过 retries 参数)。如果将 soft_fail 参数设置为 False,它会重试。请参阅下面的最小示例 DAG。
我错过了什么吗?