为ApacheAirflow提供了一个强大的、django风格的基于类的DAG语法。

airflow-workflows的Python项目详细描述


工作流

工作流是使用django启发的基于类的语法实现dags的更简洁的方法。

简单示例

让我们创建一个单独的Airflow DAG,它的名称是类名的camelcased版本,并且它的运算符依赖项是按照定义它们的顺序定义的。

有一个选项可以覆盖默认的^{}方法实现,为您的用例定制依赖链。

importworkflowsclassExampleWorkflow(workflows.Workflow):classMeta:schedule_interval='0 9 * * *'do_something_useful=workflows.PythonOperator(python_callable=lambda**kwargs:print('something useful'),)something_else=workflows.PythonOperator(python_callable=lambda**kwargs:print('Something not useful'),)globals()[ExampleWorkflow.DAG.dag_id]=ExampleWorkflow.DAG

动态DAG示例

让我们创建(在本例中是三个)dag,动态创建并基于上面实现的ExampleWorkflow类。换句话说,它们将共享相同的dag元数据(在本例中为schedule)。

importworkflowsworkflow_names=['Test1','Test2','Test3',]forworkflowinworkflow_names:WorkflowClass=workflows.create_workflow(workflow,base=ExampleWorkflow,)globals()[WorkflowClass.DAG.dag_id]=WorkflowClass.DAG

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Cassandra复制因子大于节点数   java J2EE JTA事务回滚不适用于OSE Glassfish 4.0(Build 89)   java spring安全预认证用户登录   org的java类文件。反应流。从RxJava编译示例时未找到Publisher?   java在使用dataFormat作为POJO通过Camel调用Web服务时无法设置SOAP标头   Javafx类的java静态实例   java如何防止一个部件在关闭时覆盖另一个部件的位置   sql server无法从我的java代码连接到数据库   java在JList(Swing)中显示带有的ArrayList   从Java中的CXF服务获取WSAddressing数据   使用资产文件夹进行java简单json解析(本地)   java LDAPException未绑定的无效凭据   JavaJSFspring部署到weblogic   JAVA中字符数组中的特定元素排列?   如果脚本位于不同的目录中,则ant不会使用exec标记运行Javashell脚本