Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Improvement][API] API operation optimization #6772

Closed
2 of 3 tasks
brave-lee opened this issue Nov 10, 2021 · 11 comments
Closed
2 of 3 tasks

[Improvement][API] API operation optimization #6772

brave-lee opened this issue Nov 10, 2021 · 11 comments
Labels
feature new feature Waiting for reply Waiting for reply
Milestone

Comments

@brave-lee
Copy link
Contributor

Search before asking

  • I had searched in the issues and found no similar feature requirement.

Description

Dag API

  1. Create offline workflows and schedules
  2. Update workflow basic information
  3. Update schedule information by process definition code
  4. Online or offline workflow and schedule at the same time
  5. Delete the workflow and schedule at the same time
  6. Online is not allowed for empty workflow

Task API

  1. Specify the online or offline status when creating tasks
  2. Online or downstream dependent tasks will not be deleted
  3. Task online and offline interface

Relation API

  1. Add task to workflow
  2. Remove task from workflow
  3. Task moves from A workflow to B workflow
  4. Task delete upstream dependency
  5. Task add upstream dependency

Execution API

  1. Specify task execution interface
    image

Use case

No response

Related issues

No response

Are you willing to submit a PR?

  • Yes I am willing to submit a PR!

Code of Conduct

@brave-lee brave-lee added feature new feature Waiting for reply Waiting for reply labels Nov 10, 2021
@github-actions
Copy link

Hi:

  • Thank you for your feedback, we have received your issue, Please wait patiently for a reply.
  • In order for us to understand your request as soon as possible, please provide detailed information、version or pictures.
  • If you haven't received a reply for a long time, you can subscribe to the developer's email,Mail subscription steps reference https://dolphinscheduler.apache.org/en-us/community/development/subscribe.html ,Then write the issue URL in the email content and send question to [email protected].

@zhongjiajie
Copy link
Member

zhongjiajie commented Nov 10, 2021

Good job! I thinks this is a huge change, and we should add label DSIP on it, WDYT?

@caishunfeng
Copy link
Contributor

Can you add the background explanation of why to do that?

@zhongjiajie
Copy link
Member

Create offline workflows and schedules

Sometime we only need to create workflow without schedule, do you think we should support it or not? I thinks the schedule just an additions informations to workflow, mean that url would look like /workflow/<workflow_code>/schedule

Task delete upstream dependency
Task add upstream dependency

should we also add downstream for tasks? Oh, I see that in

Online or downstream dependent tasks will not be deleted

why should we delete downstream tasks?

@brave-lee
Copy link
Contributor Author

brave-lee commented Nov 10, 2021

Create offline workflows and schedules

Sometime we only need to create workflow without schedule, do you think we should support it or not? I thinks the schedule just an additions informations to workflow, mean that url would look like /workflow/<workflow_code>/schedule

It create a empty offline workeflow. I think one dag should have schedule.

Task delete upstream dependency
Task add upstream dependency

should we also add downstream for tasks? Oh, I see that in

Online or downstream dependent tasks will not be deleted

why should we delete downstream tasks?

You're right, here we can support add/delete downstream tasks

@brave-lee brave-lee reopened this Nov 10, 2021
@davidzollo davidzollo pinned this issue Nov 11, 2021
@brave-lee
Copy link
Contributor Author

brave-lee commented Nov 16, 2021

num Interface Interface method Operate Function description
1 ProcessDefinition createEmptyProcessDefinition new Create offline empty workflow and schedule at the same time. When schedulejson is empty, only empty work will be created
2 ProcessDefinition updateProcessDefinitionBasicInfo new Modify the basic information of workflow and schedule. When schedulejson is empty, only the basic information of workflow can be modified, or the online status can be specified. An empty workflow is not allowed to go online
3 ProcessDefinition releaseWorkflowAndSchedule new At the same time, online and offline workflows and scheduled workflows are not allowed. Empty workflows are not allowed to go online
4 ProcessDefinition deleteWorkflowAndSchedule new Workflow and timing can be deleted at the same time. Only offline workflow and timing can be deleted
5 ProcessDefinition deleteProcessDefinitionVersion new The workflow of the main table version is not allowed to be deleted.
6 TaskDefinition releaseTaskDefinition new The online and offline tasks correspond to the flag field. When online, there is a resource dependency to judge whether the resource is available.
7 TaskDefinition deleteTaskDefinitionVersion update The task of master table version cannot be deleted
8 ProcessTaskRelation createProcessTaskRelation new Adding tasks to workflow, adding upstream dependencies, and adding downstream dependencies
9 ProcessTaskRelation moveTaskProcessRelation new The task switches the workflow, and judges that the dependency and subprocess cannot be added to their own workflow
10 ProcessTaskRelation deleteTaskProcessRelation new Tasks are removed from the workflow and deleted directly when tasks are dependence, subProcess and conditions.
11 ProcessTaskRelation deleteUpstreamRelation new Task delete upstream dependency
12 ProcessTaskRelation deleteDownstreamRelation new Task delete downstream dependency
13 ProcessTaskRelation queryUpstreamRelation new Task query upstream dependency
14 ProcessTaskRelation queryDownstreamRelation new Task query downstream dependency
15 Schedule updateScheduleByProcessDefinitionCode new Modify schedule according to workflow code
16 Schedule online update Empty workflow is not allowed to go online.

@yikeshiguang
Copy link
Contributor

I'll complete the releaseTaskDefinition interface!

@edward-yang
Copy link
Contributor

I will implement interface "createEmptyProcessDefinition" and "updateProcessDefinitionBasicInfo"

@zhanqian-1993
Copy link
Contributor

I'll complete the “deleteProcessDefinitionVersion”(num 5)

@brave-lee
Copy link
Contributor Author

fix swagger view at #6933

@yikeshiguang
Copy link
Contributor

yikeshiguang commented Dec 11, 2021 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature new feature Waiting for reply Waiting for reply
Projects
None yet
Development

No branches or pull requests

7 participants