From 423cc5b9be678a3ea30afadad2667bf7d6330324 Mon Sep 17 00:00:00 2001 From: sneh-wha <105436196+sneh-wha@users.noreply.github.com> Date: Mon, 4 Jul 2022 07:53:25 +0530 Subject: [PATCH] [doc] Modified project doc. (#10711) --- docs/docs/en/guide/project/project-list.md | 21 +++++-- docs/docs/en/guide/project/task-instance.md | 4 +- .../en/guide/project/workflow-definition.md | 58 +++++++++--------- .../en/guide/project/workflow-instance.md | 10 +-- .../en/guide/project/workflow-relation.md | 3 + docs/img/new_ui/dev/project/work-relation.png | Bin 0 -> 64892 bytes 6 files changed, 55 insertions(+), 41 deletions(-) create mode 100644 docs/docs/en/guide/project/workflow-relation.md create mode 100644 docs/img/new_ui/dev/project/work-relation.png diff --git a/docs/docs/en/guide/project/project-list.md b/docs/docs/en/guide/project/project-list.md index 1ce2c5dd40..60899d10dd 100644 --- a/docs/docs/en/guide/project/project-list.md +++ b/docs/docs/en/guide/project/project-list.md @@ -1,8 +1,19 @@ -# Project Management +# Project + +This page describes details regarding Project screen in Apache DolphinScheduler. Here, you will see all the functions which can be handled in this screen. The following table explains commonly used terms in Apache DolphinScheduler: + +| Glossary | | +| ------ | -------- | +| DAG | Tasks in a workflow are assembled in form of Directed Acyclic Graph (DAG). A topological traversal is performed from nodes with zero degrees of entry until there are no subsequent nodes. | +| Workflow Definition | Visualization formed by dragging task nodes and establishing task node associations (DAG). | +| Workflow Instance | Instantiation of the workflow definition, which can be generated by manual start or scheduled scheduling. Each time the process definition runs, a workflow instance is generated. | +| Workflow Relation | Shows dynamic status of all the workflows in a project. | +| Task | Task is a discrete action in a Workflow. Apache DolphinScheduler supports SHELL, SQL, SUB_PROCESS (sub-process), PROCEDURE, MR, SPARK, PYTHON, DEPENDENT ( depends), and plans to support dynamic plug-in expansion, (SUB_PROCESS). It is also a separate process definition that can be started and executed separately. | +| Task Instance | Instantiation of the task node in the process definition, which identifies the specific task execution status. | ## Create Project -- Click "Project Management" to enter the project management page, click the "Create Project" button, enter the project name, project description, and click "Submit" to create a new project. +- Click `Project Management` to enter the project management page, click the `Create Project` button, enter the project name, project description, and click "Submit" to create a new project. ![project-list](../../../../img/new_ui/dev/project/project-list.png) @@ -10,9 +21,9 @@ - Click the project name link on the project management page to enter the project home page, as shown in the figure below, the project home page contains the task status statistics, process status statistics, and workflow definition statistics of the project. The introduction for those metrics: -- Task status statistics: within the specified time range, count the number of task instances status as successful submission, running, ready to pause, pause, ready to stop, stop, failure, success, need fault tolerance, kill and waiting threads -- Process status statistics: within the specified time range, count the number of workflow instances status as submission success, running, ready to pause, pause, ready to stop, stop, failure, success, need fault tolerance, kill and waiting threads -- Workflow definition statistics: count the workflow definitions created by this user and granted by the administrator +- Task status statistics: Within the specified time range, count the number of task instances status as successful submission, running, ready to pause, pause, ready to stop, stop, failure, success, need fault tolerance, kill and waiting threads +- Process status statistics: Within the specified time range, count the number of workflow instances status as submission success, running, ready to pause, pause, ready to stop, stop, failure, success, need fault tolerance, kill and waiting threads +- Workflow definition statistics: Count the workflow definitions created by this user and granted by the administrator ![project-overview](../../../../img/new_ui/dev/project/project-overview.png) diff --git a/docs/docs/en/guide/project/task-instance.md b/docs/docs/en/guide/project/task-instance.md index 3a22f21f4f..32006ce741 100644 --- a/docs/docs/en/guide/project/task-instance.md +++ b/docs/docs/en/guide/project/task-instance.md @@ -1,9 +1,9 @@ ## Task Instance -- Click Project Management -> Workflow -> Task Instance. Enter the task instance page, as shown in the figure below, click workflow instance name, you can jump to the workflow instance DAG chart to view the task status. +- Click `Project Management -> Workflow -> Task Instance`. Enter the `Task Instance` page, as shown in the figure below, click workflow instance name, you can jump to the workflow instance DAG chart to view the task status. ![task-instance](../../../../img/new_ui/dev/project/task-instance.png) -- View log:Click the "view log" button in the operation column to view task execution log. +- View log:Click the `View Log` button in the operation column to view task execution log. ![task-log](../../../../img/new_ui/dev/project/task-log.png) diff --git a/docs/docs/en/guide/project/workflow-definition.md b/docs/docs/en/guide/project/workflow-definition.md index ed4fc90de6..b718bb252f 100644 --- a/docs/docs/en/guide/project/workflow-definition.md +++ b/docs/docs/en/guide/project/workflow-definition.md @@ -2,7 +2,7 @@ ## Create workflow definition -- Click Project Management -> Workflow -> Workflow Definition, enter the workflow definition page, and click the "Create Workflow" button to enter the **workflow DAG edit** page, as shown in the following figure: +- Click `Project Management -> Workflow -> Workflow Definition`, enter the `Workflow Definition` page, and click the `Create Workflow` button to enter the **workflow DAG edit** page, as shown in the following figure: ![workflow-dag](../../../../img/new_ui/dev/project/workflow-dag.png) @@ -12,13 +12,13 @@ - **Add parameter settings for shell task:** -1. Fill in the "Node Name", "Description" and "Script" fields; -2. Check “Normal” for “Run Flag”. If “Prohibit Execution” is checked, the task will not execute when the workflow runs; -3. Select "Task Priority": when the number of worker threads is insufficient, high priority tasks will execute first in the execution queue, and tasks with the same priority will execute in the order of first in, first out; +1. Fill in the `Node Name`, `Description` and `Script` fields; +2. Check “`Normal`” for “`Run Flag`”. If “`Prohibit Execution`” is checked, the task will not execute when the workflow runs; +3. Select `Task Priority`: when the number of worker threads is insufficient, high priority tasks will execute first in the execution queue, and tasks with the same priority will execute in the order of first in, first out; 4. Timeout alarm (optional): check the timeout alarm, timeout failure, and fill in the "timeout period". When the task execution time exceeds **timeout period**, an alert email will send and the task timeout fails; -5. Resources (optional). Resources are files create or upload in the Resource Center -> File Management page. For example, the file name is `test.sh`, and the command to call the resource in the script is `sh test.sh`; +5. Resources (optional). Resources are files create or upload in the `Resource Center -> File Management` page. For example, the file name is `test.sh`, and the command to call the resource in the script is `sh test.sh`; 6. Customize parameters (optional); -7. Click the "Confirm Add" button to save the task settings. +7. Click the `Confirm Add` button to save the task settings. - **Set dependencies between tasks:** Click the plus sign on the right of the task node to connect the task; as shown in the figure below, task Node_B and task Node_C execute in parallel, When task Node_A finished execution, tasks Node_B and Node_C will execute simultaneously. @@ -28,7 +28,7 @@ ![workflow-delete](../../../../img/new_ui/dev/project/workflow-delete.png) -- **Save workflow definition:** Click the "Save" button, and the "Set DAG chart name" window pops up, as shown in the figure below. Enter the workflow definition name, workflow definition description, and set global parameters (optional, refer to [global parameters](../parameter/global.md)), click the "Add" button to finish workflow definition creation. +- **Save workflow definition:** Click the `Save` button, and the "Set DAG chart name" window pops up, as shown in the figure below. Enter the workflow definition name, workflow definition description, and set global parameters (optional, refer to [global parameters](../parameter/global.md)), click the `Add` button to finish workflow definition creation. ![workflow-save](../../../../img/new_ui/dev/project/workflow-save.png) @@ -36,46 +36,46 @@ ## Workflow Definition Operation Function -Click Project Management -> Workflow -> Workflow Definition to enter the workflow definition page, as shown below: +Click `Project Management -> Workflow -> Workflow Definition` to enter the workflow definition page, as shown below: ![workflow-list](../../../../img/new_ui/dev/project/workflow-list.png) The following are the operation functions of the workflow definition list: - **Edit:** Only "Offline" workflow definitions can be edited. Workflow DAG editing is the same as [Create Workflow Definition](#creatDag) -- **Online:** When the workflow status is "Offline", used to make workflow online. Only the workflow in the "Online" state can run, but cannot edit -- **Offline:** When the workflow status is "Online", used to make workflow offline. Only the workflow in the "Offline" state can be edited, but cannot run +- **Online:** When the workflow status is "Offline", used to make workflow online. Only the workflow in the "Online" state can run, but cannot edit. +- **Offline:** When the workflow status is "Online", used to make workflow offline. Only the workflow in the "Offline" state can be edited, but cannot run. - **Run:** Only workflow in the online state can run. See [2.3.3 Run Workflow](#run-the-workflow) for the operation steps. -- **Timing:** Timing can only set to online workflows, and the system automatically schedules to run the workflow on time. The status after creating a timing setting is "offline", and the timing must set online on the timing management page to make effect. See [2.3.4 Workflow Timing](#workflow-timing) for timing operation steps -- **Timing Management:** The timing management page can edit, online or offline and delete timing +- **Timing:** Timing can only set to online workflows, and the system automatically schedules to run the workflow on time. The status after creating a timing setting is "offline", and the timing must set online on the timing management page to make effect. See [2.3.4 Workflow Timing](#workflow-timing) for timing operation steps. +- **Timing Management:** The timing management page can edit, online or offline and delete timing. - **Delete:** Delete the workflow definition. In the same project, only the workflow definition created by yourself can be deleted, and the workflow definition of other users cannot be deleted. If you need to delete it, please contact the user who created it or the administrator. -- **Download:** Download workflow definition to local +- **Download:** Download workflow definition to local. - **Tree Diagram:** Display the task node type and task status in a tree structure, as shown in the figure below: ![workflow-tree](../../../../img/new_ui/dev/project/workflow-tree.png) ## Run the Workflow -- Click Project Management -> Workflow -> Workflow Definition to enter the workflow definition page, as shown in the figure below, click the "Go Online" button to make workflow online. +- Click `Project Management -> Workflow -> Workflow Definition` to enter the workflow definition page, as shown in the figure below, click the "Go Online" button to make workflow online. ![workflow-online](../../../../img/new_ui/dev/project/workflow-online.png) -- Click the "Run" button to pop up the startup parameter setting window, as shown in the figure below, set the startup parameters, click the "Run" button in the pop-up box, the workflow starts running, and the workflow instance page generates a workflow instance. +- Click the `Run` button to pop up the startup parameter setting window, as shown in the figure below, set the startup parameters, click the `Run` button in the pop-up box, the workflow starts running, and the workflow instance page generates a workflow instance. ![workflow-run](../../../../img/new_ui/dev/project/workflow-run.png) Description of workflow operating parameters: - * Failure strategy: When a task node fails to execute, other parallel task nodes need to execute this strategy. "Continue" means: after a certain task fails, other task nodes execute normally; "End" means: terminate all tasks execution, and terminate the entire process - * Notification strategy: When the process is over, send the process execution result notification email according to the process status, options including no send, send if sucess, send of failure, send whatever result - * Process priority: The priority of process operation, divide into five levels: highest (HIGHEST), high (HIGH), medium (MEDIUM), low (LOW), and lowest (LOWEST). When the number of master threads is insufficient, high priority processes will execute first in the execution queue, and processes with the same priority will execute in the order of first in, first out; - * Worker group: The process can only be executed in the specified worker machine group. The default is `Default`, which can execute on any worker - * Notification group: select notification strategy||timeout alarm||when fault tolerance occurs, process result information or email will send to all members in the notification group - * Recipient: select notification policy||timeout alarm||when fault tolerance occurs, process result information or alarm email will be sent to the recipient list - * Cc: select notification policy||timeout alarm||when fault tolerance occurs, the process result information or warning email will be copied to the CC list - * Startup parameter: Set or overwrite global parameter values when starting a new process instance + * Failure strategy: When a task node fails to execute, other parallel task nodes need to execute this strategy. "Continue" means: after a certain task fails, other task nodes execute normally; "End" means: terminate all tasks execution, and terminate the entire process. + * Notification strategy: When the process is over, send the process execution result notification email according to the process status, options including no send, send if sucess, send of failure, send whatever result. + * Process priority: The priority of process operation, divide into five levels: highest (HIGHEST), high (HIGH), medium (MEDIUM), low (LOW), and lowest (LOWEST). When the number of master threads is insufficient, high priority processes will execute first in the execution queue, and processes with the same priority will execute in the order of first in, first out. + * Worker group: The process can only be executed in the specified worker machine group. The default is `Default`, which can execute on any worker. + * Notification group: select notification strategy||timeout alarm||when fault tolerance occurs, process result information or email will send to all members in the notification group. + * Recipient: select notification policy||timeout alarm||when fault tolerance occurs, process result information or alarm email will be sent to the recipient list. + * Cc: select notification policy||timeout alarm||when fault tolerance occurs, the process result information or warning email will be copied to the CC list. + * Startup parameter: Set or overwrite global parameter values when starting a new process instance. * Complement: includes serial complement and parallel complement and supports manual date input and date selection. Serial complement defines, within the specified time range, executes the complements from the start date to the end date by sequential and N process instances are generated in sequence. Parallel complement defines executing the complement concurrently in the multiple days to generate N process instances within the specified time range. Manual date input defines: manually input the date following the date format `yyyy-MM-dd HH:mm:ss` and separate dates by a comma. Date selection defines: to select dates via UI. - * Dependent Mode: Trigger the complement of workflow instances that the downstream dependent node depends on the current workflow(It is required that the scheduled status of the workflow instance of the current replenishment is online, and only the downstream supplement directly dependent on the current workflow will be triggered) + * Dependent Mode: Trigger the complement of workflow instances that the downstream dependent node depends on the current workflow(It is required that the scheduled status of the workflow instance of the current replenishment is online, and only the downstream supplement directly dependent on the current workflow will be triggered). * You can select complement time range (When the scheduled configuration is not online, the daily complement will be performed by default according to the selected time range.If the timing configuration is online, it will be complemented according to the selected time range in combination with the timing configuration) when executing a timing workflow definition. For example, need to fill in the data from 1st May to 10th May, as shown in the figure below: ![workflow-date](../../../../img/new_ui/dev/project/workflow-date.png) @@ -94,17 +94,17 @@ The following are the operation functions of the workflow definition list: ## Run the task alone -- Right-click the task and click the "Start" button (only online tasks can be clicked to run) +- Right-click the task and click the `Start` button (only online tasks can be clicked to run). ![workflow-task-run](../../../../img/new_ui/dev/project/workflow-task-run.png) -- The startup parameter setting dialog box is displayed, and the parameter description is the same as [run the workflow](#run-the-workflow) +- The startup parameter setting dialog box is displayed, and the parameter description is the same as [run the workflow](#run-the-workflow). ![workflow-task-run-config](../../../../img/new_ui/dev/project/workflow-task-run-config.png) ## Workflow Timing -- Create timing: Click Project Management->Workflow->Workflow Definition, enter the workflow definition page, make the workflow online, click the "timing" button , the timing parameter setting dialog box pops up, as shown in the figure below: +- Create timing: Click `Project Management -> Workflow-> Workflow Definition`, enter the workflow definition page, make the workflow online, click the "timing" button , the timing parameter setting dialog box pops up, as shown in the figure below: ![workflow-time01](../../../../img/new_ui/dev/project/workflow-time01.png) @@ -115,10 +115,10 @@ The following are the operation functions of the workflow definition list: - Failure strategy, notification strategy, process priority, worker group, notification group, recipient, and CC are the same as workflow running parameters. - Click the "Create" button to create the timing. Now the timing status is "**Offline**" and the timing needs to be **Online** to make effect. -- Timing online: Click the "Timing Management" button , enter the timing management page, click the "online" button, the timing status will change to "online", as shown in the below figure, the workflow makes effect regularly. +- Timing online: Click the `Timing Management` button , enter the timing management page, click the `online` button, the timing status will change to `online`, as shown in the below figure, the workflow makes effect regularly. ![workflow-time03](../../../../img/new_ui/dev/project/workflow-time03.png) ## Import Workflow -Click Project Management -> Workflow -> Workflow Definition to enter the workflow definition page, click the "Import Workflow" button to import the local workflow file, the workflow definition list displays the imported workflow and the status is offline. +Click `Project Management -> Workflow -> Workflow Definition` to enter the workflow definition page, click the `Import Workflow` button to import the local workflow file, the workflow definition list displays the imported workflow and the status is offline. diff --git a/docs/docs/en/guide/project/workflow-instance.md b/docs/docs/en/guide/project/workflow-instance.md index e38204ef37..5f1686a97f 100644 --- a/docs/docs/en/guide/project/workflow-instance.md +++ b/docs/docs/en/guide/project/workflow-instance.md @@ -2,7 +2,7 @@ ## View Workflow Instance -- Click Project Management -> Workflow -> Workflow Instance, enter the Workflow Instance page, as shown in the figure below: +- Click `Project Management -> Workflow -> Workflow Instance`, enter the Workflow Instance page, as shown in the figure below: ![workflow-instance](../../../../img/new_ui/dev/project/workflow-instance.png) @@ -22,21 +22,21 @@ ## View Task History -- Click Project Management -> Workflow -> Workflow Instance, enter the workflow instance page, and click the workflow name to enter the workflow DAG page; -- Double-click the task node, as shown in the figure below, click "View History" to jump to the task instance page, and display a list of task instances running by the workflow instance +- Click `Project Management -> Workflow -> Workflow Instance`, enter the workflow instance page, and click the workflow name to enter the workflow DAG page; +- Double-click the task node, as shown in the figure below, click `View History` to jump to the task instance page, and display a list of task instances running by the workflow instance. ![instance-history](../../../../img/new_ui/dev/project/instance-history.png) ## View Operation Parameters -- Click Project Management -> Workflow -> Workflow Instance, enter the workflow instance page, and click the workflow name to enter the workflow DAG page; +- Click `Project Management -> Workflow -> Workflow Instance`, enter the workflow instance page, and click the workflow name to enter the workflow DAG page; - Click the icon in the upper left corner ,View the startup parameters of the workflow instance; click the icon ,View the global and local parameters of the workflow instance, as shown in the following figure: ![instance-parameter](../../../../img/new_ui/dev/project/instance-parameter.png) ## Workflow Instance Operation Function -Click Project Management -> Workflow -> Workflow Instance, enter the workflow instance page, as shown in the figure below: +Click `Project Management -> Workflow -> Workflow Instance`, enter the workflow instance page, as shown in the figure below: ![workflow-instance](../../../../img/new_ui/dev/project/workflow-instance.png) diff --git a/docs/docs/en/guide/project/workflow-relation.md b/docs/docs/en/guide/project/workflow-relation.md new file mode 100644 index 0000000000..e386af3801 --- /dev/null +++ b/docs/docs/en/guide/project/workflow-relation.md @@ -0,0 +1,3 @@ +Workflow Relation screen shows all the existing workflows in a project and their status. + +![](../../../../img/new_ui/dev/project/work-relation.png) \ No newline at end of file diff --git a/docs/img/new_ui/dev/project/work-relation.png b/docs/img/new_ui/dev/project/work-relation.png new file mode 100644 index 0000000000000000000000000000000000000000..ab459e6851e32a15ebb8c46034f03d77ec5bcbb7 GIT binary patch literal 64892 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

-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 z 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