Airflow 是一个咱们正在用的工做流调度器,相对于传统的crontab任务管理,Airflow很好的为咱们理清了复杂的任务依赖关系、监控任务执行的状况。咱们喜欢它是由于它写代码太容易了,也便于调试、维护和继承重用,而不是像xml那样的配置文件用来描述DAG。html
经过SQL和HQL的临时查询,咱们还能够快速生成前端图表,并且顺带连数据的API接口也都生成了,这几乎要让的Web开发工程师失业了。前端
固然Airflow还支持移动端显示,只要收藏页面,咱们就能够实现"移动监控"。mysql
强大的任务调度与管理git
调度代码尽收眼底github
配置 SQL 语句,以及做图的optionweb
图表自动生成sql
API数据自动生成docker
将当前的图表地址 http://localhost:8080/admin/airflow/chart?chart_id=2&iteration_no=40
替换成 http://localhost:8080/admin/airflow/chart_data?chart_id=2&iteration_no=40
便可返回json数据数据库
若是对 API数据自动生成不够满意,还能够轻松地对源代码自行定制。apache
任务日志
任务监控
调度配置化
系统配置
用户管理
数据源管理
若是经过 docker
docker pull airflow
若是经过 pip
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple airflow
这里若是不修改路径,默认的配置就是 ~/airflow
临时修改 AIRFLOW_HOME 环境变量, 这里的 /home/airflow
能够替换成你想要的文件夹目录
export AIRFLOW_HOME=/home/airflow
永久修改环境变量
echo "export AIRFLOW_HOME=/home/airflow" >> /etc/profile source /etc/profile
系统默认的配置文件是从 airflow包的configuration.py
文件中获取的,在设置了路径和airflow.cfg
以后,配置将由airflow.cfg
所替代。
找到配置文件
vi /home/airflow/airflow.cfg
修改sql配置
sql_alchemy_conn = mysql://root:FinanceR@localhost:3306/airflow
注意到,以前使用的 mysql+driver://root:FinanceR@localhost:3306/airflow
的方式是行不通的。
初始化服务器的数据库
airflow initdb
airflow webserver
就能够开启后台管理界面,默认访问localhost:8080
便可。
经过create
按钮,添加相应的参数
注意到 airflow 的全部.py文件都声明了 utf-8 字符集
# -*- coding: utf-8 -*-
若是须要显示中文,须要在extra
选项中添加{"charset":"utf8"}
的配置
更优阅读体验可直接访问原文地址:https://segmentfault.com/a/11...
做为分享主义者(sharism),本人全部互联网发布的图文均听从CC版权,转载请保留做者信息并注明做者 Harry Zhu 的 FinanceR专栏:https://segmentfault.com/blog...,若是涉及源代码请注明GitHub地址:https://github.com/harryprince。微信号: harryzhustudio商业使用请联系做者。