Skip to content

[DSIP-1][Feature][Parent] Add Python API for DolphinScheduler #6407

@zhongjiajie

Description

@zhongjiajie

Description

Add Python API for DolphinScheduler, which allow user define workflow using Python code, aka workflows-as-code. And this is parent list to connect all children issues, until we public first release to pypi

Functional

Dev

Doc

What we have to consider carefully

  1. A good mechanism to update process definition: For now DS design base on UI define workflow, which we modify database model step by step, is a quick different from define or update by code. We have to consider who to update it. Cause we should not ask user define process definition code or tasks code in the python API, I currently think maybe we should delete all tasks in process definition and then create new. It's still could not handle when users change project name and process definition, but we would try to fix it later
  2. How to combine UI and codes when define and change workflow: We could update workflow define by UI or by edit Python API code after we create it, and how to combine them. If would cause consistency issues when we create workflow by python api but change them in UI, cause UI modify directly change database metadata but python api do not know and still in the old version. In python api define way, python file just like template, it parse the code and persist to database

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions