diff --git a/README.md b/README.md
index 18e2df8da3..51e0cbb8bc 100644
--- a/README.md
+++ b/README.md
@@ -64,7 +64,7 @@ Overload processing: Task queue mechanism, the number of schedulable tasks on a
- Online Demo
-More documentation please refer to [EasyScheduler online documentation]
+More documentation please refer to [EasyScheduler online documentation]
### Recent R&D plan
Work plan of Easy Scheduler: [R&D plan](https://github.com/analysys/EasyScheduler/projects/1), where `In Develop` card is the features of 1.1.0 version , TODO card is to be done (including feature ideas)
@@ -80,7 +80,9 @@ Easy Scheduler uses a lot of excellent open source projects, such as google guav
It is because of the shoulders of these open source projects that the birth of the Easy Scheduler is possible. We are very grateful for all the open source software used! We also hope that we will not only be the beneficiaries of open source, but also be open source contributors, so we decided to contribute to easy scheduling and promised long-term updates. We also hope that partners who have the same passion and conviction for open source will join in and contribute to open source!
### Get Help
-The fastest way to get response from our developers is to submit issues, or add our wechat : 510570367
+1. Submit an issue
+1. Mail list: dev@dolphinscheduler.apache.org. Mail to dev-subscribe@dolphinscheduler.apache.org, follow the reply to subscribe the mail list.
+1. Contact WeChat group manager, ID 510570367. This is for Mandarin(CN) discussion.
### License
Please refer to [LICENSE](https://github.com/analysys/EasyScheduler/blob/dev/LICENSE) file.
diff --git a/dockerfile/conf/escheduler/conf/i18n/messages.properties b/dockerfile/conf/escheduler/conf/i18n/messages.properties
index a663c71013..88509558a9 100644
--- a/dockerfile/conf/escheduler/conf/i18n/messages.properties
+++ b/dockerfile/conf/escheduler/conf/i18n/messages.properties
@@ -111,6 +111,7 @@ UPDATE_PROJECT_NOTES=update project
PROJECT_ID=project id
QUERY_PROJECT_BY_ID_NOTES=query project info by project id
QUERY_PROJECT_LIST_PAGING_NOTES=QUERY PROJECT LIST PAGING
+QUERY_ALL_PROJECT_LIST_NOTES=query all project list
DELETE_PROJECT_BY_ID_NOTES=delete project by id
QUERY_UNAUTHORIZED_PROJECT_NOTES=query unauthorized project
QUERY_AUTHORIZED_PROJECT_NOTES=query authorized project
@@ -152,10 +153,12 @@ VERIFY_PROCCESS_DEFINITION_NAME_NOTES=verify proccess definition name
LOGIN_NOTES=user login
UPDATE_PROCCESS_DEFINITION_NOTES=update proccess definition
PROCESS_DEFINITION_ID=process definition id
+PROCESS_DEFINITION_IDS=process definition ids
RELEASE_PROCCESS_DEFINITION_NOTES=release proccess definition
QUERY_PROCCESS_DEFINITION_BY_ID_NOTES=query proccess definition by id
QUERY_PROCCESS_DEFINITION_LIST_NOTES=query proccess definition list
QUERY_PROCCESS_DEFINITION_LIST_PAGING_NOTES=query proccess definition list paging
+QUERY_ALL_DEFINITION_LIST_NOTES=query all definition list
PAGE_NO=page no
PROCESS_INSTANCE_ID=process instance id
PROCESS_INSTANCE_JSON=process instance info(json format)
@@ -170,6 +173,9 @@ LIMIT=limit
VIEW_TREE_NOTES=view tree
GET_NODE_LIST_BY_DEFINITION_ID_NOTES=get task node list by process definition id
PROCESS_DEFINITION_ID_LIST=process definition id list
+QUERY_PROCCESS_DEFINITION_All_BY_PROJECT_ID_NOTES=query proccess definition all by project id
+DELETE_PROCESS_DEFINITION_BY_ID_NOTES=delete process definition by process definition id
+BATCH_DELETE_PROCESS_DEFINITION_BY_IDS_NOTES=batch delete process definition by process definition ids
QUERY_PROCESS_INSTANCE_BY_ID_NOTES=query process instance by process instance id
DELETE_PROCESS_INSTANCE_BY_ID_NOTES=delete process instance by process instance id
TASK_ID=task instance id
diff --git a/dockerfile/conf/escheduler/conf/i18n/messages_en_US.properties b/dockerfile/conf/escheduler/conf/i18n/messages_en_US.properties
index a663c71013..d06b83fed5 100644
--- a/dockerfile/conf/escheduler/conf/i18n/messages_en_US.properties
+++ b/dockerfile/conf/escheduler/conf/i18n/messages_en_US.properties
@@ -111,6 +111,7 @@ UPDATE_PROJECT_NOTES=update project
PROJECT_ID=project id
QUERY_PROJECT_BY_ID_NOTES=query project info by project id
QUERY_PROJECT_LIST_PAGING_NOTES=QUERY PROJECT LIST PAGING
+QUERY_ALL_PROJECT_LIST_NOTES=query all project list
DELETE_PROJECT_BY_ID_NOTES=delete project by id
QUERY_UNAUTHORIZED_PROJECT_NOTES=query unauthorized project
QUERY_AUTHORIZED_PROJECT_NOTES=query authorized project
@@ -152,10 +153,12 @@ VERIFY_PROCCESS_DEFINITION_NAME_NOTES=verify proccess definition name
LOGIN_NOTES=user login
UPDATE_PROCCESS_DEFINITION_NOTES=update proccess definition
PROCESS_DEFINITION_ID=process definition id
+PROCESS_DEFINITION_IDS=process definition ids
RELEASE_PROCCESS_DEFINITION_NOTES=release proccess definition
QUERY_PROCCESS_DEFINITION_BY_ID_NOTES=query proccess definition by id
QUERY_PROCCESS_DEFINITION_LIST_NOTES=query proccess definition list
QUERY_PROCCESS_DEFINITION_LIST_PAGING_NOTES=query proccess definition list paging
+QUERY_ALL_DEFINITION_LIST_NOTES=query all definition list
PAGE_NO=page no
PROCESS_INSTANCE_ID=process instance id
PROCESS_INSTANCE_JSON=process instance info(json format)
@@ -170,6 +173,9 @@ LIMIT=limit
VIEW_TREE_NOTES=view tree
GET_NODE_LIST_BY_DEFINITION_ID_NOTES=get task node list by process definition id
PROCESS_DEFINITION_ID_LIST=process definition id list
+QUERY_PROCCESS_DEFINITION_All_BY_PROJECT_ID_NOTES=query proccess definition all by project id
+DELETE_PROCESS_DEFINITION_BY_ID_NOTES=delete process definition by process definition id
+BATCH_DELETE_PROCESS_DEFINITION_BY_IDS_NOTES=batch delete process definition by process definition ids
QUERY_PROCESS_INSTANCE_BY_ID_NOTES=query process instance by process instance id
DELETE_PROCESS_INSTANCE_BY_ID_NOTES=delete process instance by process instance id
TASK_ID=task instance id
diff --git a/dockerfile/conf/escheduler/conf/i18n/messages_zh_CN.properties b/dockerfile/conf/escheduler/conf/i18n/messages_zh_CN.properties
index b0d6694d2b..f23e6b7e36 100644
--- a/dockerfile/conf/escheduler/conf/i18n/messages_zh_CN.properties
+++ b/dockerfile/conf/escheduler/conf/i18n/messages_zh_CN.properties
@@ -110,6 +110,7 @@ UPDATE_PROJECT_NOTES=更新项目
PROJECT_ID=项目ID
QUERY_PROJECT_BY_ID_NOTES=通过项目ID查询项目信息
QUERY_PROJECT_LIST_PAGING_NOTES=分页查询项目列表
+QUERY_ALL_PROJECT_LIST_NOTES=查询所有项目
DELETE_PROJECT_BY_ID_NOTES=删除项目通过ID
QUERY_UNAUTHORIZED_PROJECT_NOTES=查询未授权的项目
QUERY_AUTHORIZED_PROJECT_NOTES=查询授权项目
@@ -155,8 +156,10 @@ RELEASE_PROCCESS_DEFINITION_NOTES=发布流程定义
QUERY_PROCCESS_DEFINITION_BY_ID_NOTES=查询流程定义通过流程定义ID
QUERY_PROCCESS_DEFINITION_LIST_NOTES=查询流程定义列表
QUERY_PROCCESS_DEFINITION_LIST_PAGING_NOTES=分页查询流程定义列表
+QUERY_ALL_DEFINITION_LIST_NOTES=查询所有流程定义
PAGE_NO=页码号
PROCESS_INSTANCE_ID=流程实例ID
+PROCESS_INSTANCE_IDS=流程实例ID集合
PROCESS_INSTANCE_JSON=流程实例信息(json格式)
SCHEDULE_TIME=定时时间
SYNC_DEFINE=更新流程实例的信息是否同步到流程定义
@@ -168,6 +171,9 @@ LIMIT=显示多少条
VIEW_TREE_NOTES=树状图
GET_NODE_LIST_BY_DEFINITION_ID_NOTES=获得任务节点列表通过流程定义ID
PROCESS_DEFINITION_ID_LIST=流程定义id列表
+QUERY_PROCCESS_DEFINITION_All_BY_PROJECT_ID_NOTES=查询流程定义通过项目ID
+DELETE_PROCESS_DEFINITION_BY_ID_NOTES=删除流程定义通过流程定义ID
+BATCH_DELETE_PROCESS_DEFINITION_BY_IDS_NOTES=批量删除流程定义通过流程定义ID集合
QUERY_PROCESS_INSTANCE_BY_ID_NOTES=查询流程实例通过流程实例ID
DELETE_PROCESS_INSTANCE_BY_ID_NOTES=删除流程实例通过流程实例ID
TASK_ID=任务实例ID
diff --git a/docs/en_US/EasyScheduler Proposal.md b/docs/en_US/EasyScheduler Proposal.md
index 965605f63b..6bcea73540 100644
--- a/docs/en_US/EasyScheduler Proposal.md
+++ b/docs/en_US/EasyScheduler Proposal.md
@@ -6,7 +6,7 @@ EasyScheduler is a distributed ETL scheduling engine with powerful DAG visualiza
## Proposal
-EasyScheduler provides many easy-to-use features to accelerate the engineer enficiency on data ETL workflow job. We propose a new concept of 'instance of process' and 'instance of task' to let developers to tuning their jobs on the running state of workflow instead of changing the task's template. Its main objectives are as follows:
+EasyScheduler provides many easy-to-use features to accelerate the engineer efficiency on data ETL workflow job. We propose a new concept of 'instance of process' and 'instance of task' to let developers to tuning their jobs on the running state of workflow instead of changing the task's template. Its main objectives are as follows:
- Define the complex tasks' dependencies & triggers in a DAG graph by dragging and dropping.
- Support cluster HA.
@@ -30,7 +30,7 @@ The codes are already under Apache License Version 2.0.
We want to find a data processing tool with the following features:
-- Easy to use,developers can build a ETL process with a very simple drag and drop operation. not only for ETL developers,people who can't write code also can use this tool for ETL operation such as system adminitrator.
+- Easy to use,developers can build a ETL process with a very simple drag and drop operation. not only for ETL developers,people who can't write code also can use this tool for ETL operation such as system administrator.
- Solving the problem of "complex task dependencies" , and it can monitor the ETL running status.
- Support multi-tenant.
- Support many task types: Shell, MR, Spark, SQL (mysql, postgresql, hive, sparksql), Python, Sub_Process, Procedure, etc.
@@ -73,7 +73,7 @@ Thus, it is very unlikely that EasyScheduler becomes orphaned.
EasyScheduler's core developers have been running it as a community-oriented open source project for some time, several of them already have experience working with open source communities, they are also active in presto, alluxio and other projects. At the same time, we will learn more open source experiences by following the Apache way in our incubator journey.
-### Homogenous Developers
+### Homogeneous Developers
The current developers work across a variety of organizations including Analysys, guandata and hydee;
some individual developers are accepted as developers of EasyScheduler as well.
@@ -110,7 +110,7 @@ The project consists of three distinct codebases: core and document. The address
## Source and Intellectual Property Submission Plan
-As soon as EasyScheduler is approved to join Apache Incubator, Analysys will provide the Software Grant Agreement(SGA) and intial committers will submit ICLA(s). The code is already licensed under the Apache Software License, version 2.0.
+As soon as EasyScheduler is approved to join Apache Incubator, Analysys will provide the Software Grant Agreement(SGA) and initial committers will submit ICLA(s). The code is already licensed under the Apache Software License, version 2.0.
## External Dependencies
diff --git a/docs/en_US/architecture-design.md b/docs/en_US/architecture-design.md
index f901fde3dc..e1c8f01f34 100644
--- a/docs/en_US/architecture-design.md
+++ b/docs/en_US/architecture-design.md
@@ -6,7 +6,7 @@ Before explaining the architecture of the schedule system, let us first understa
**DAG:** Full name Directed Acyclic Graph,referred to as DAG。Tasks in the workflow are assembled in the form of directed acyclic graphs, which are topologically traversed from nodes with zero indegrees of ingress until there are no successor nodes. For example, the following picture:
-
+
dag example
@@ -111,7 +111,7 @@ Before explaining the architecture of the schedule system, let us first understa
The centralized design concept is relatively simple. The nodes in the distributed cluster are divided into two roles according to their roles:
-
+
- The role of Master is mainly responsible for task distribution and supervising the health status of Slave. It can dynamically balance the task to Slave, so that the Slave node will not be "busy" or "free".
@@ -125,7 +125,7 @@ Problems in the design of centralized :
###### Decentralization
+
- In the decentralized design, there is usually no Master/Slave concept, all roles are the same, the status is equal, the global Internet is a typical decentralized distributed system, networked arbitrary node equipment down machine , all will only affect a small range of features.
@@ -141,13 +141,13 @@ EasyScheduler uses ZooKeeper distributed locks to implement only one Master to e
1. The core process algorithm for obtaining distributed locks is as follows
-
+
2. Scheduler thread distributed lock implementation flow chart in EasyScheduler:
-
+
##### Third, the thread is insufficient loop waiting problem
@@ -156,7 +156,7 @@ EasyScheduler uses ZooKeeper distributed locks to implement only one Master to e
- If a large number of sub-processes are nested in a large DAG, the following figure will result in a "dead" state:
-
+
In the above figure, MainFlowThread waits for SubFlowThread1 to end, SubFlowThread1 waits for SubFlowThread2 to end, SubFlowThread2 waits for SubFlowThread3 to end, and SubFlowThread3 waits for a new thread in the thread pool, then the entire DAG process cannot end, and thus the thread cannot be released. This forms the state of the child parent process loop waiting. At this point, the scheduling cluster will no longer be available unless a new Master is started to add threads to break such a "stuck."
@@ -180,7 +180,7 @@ Fault tolerance is divided into service fault tolerance and task retry. Service
Service fault tolerance design relies on ZooKeeper's Watcher mechanism. The implementation principle is as follows:
-
+
The Master monitors the directories of other Masters and Workers. If the remove event is detected, the process instance is fault-tolerant or the task instance is fault-tolerant according to the specific business logic.
@@ -190,7 +190,7 @@ The Master monitors the directories of other Masters and Workers. If the remove
- Master fault tolerance flow chart:
-
+
After the ZooKeeper Master is fault-tolerant, it is rescheduled by the Scheduler thread in EasyScheduler. It traverses the DAG to find the "Running" and "Submit Successful" tasks, and monitors the status of its task instance for the "Running" task. You need to determine whether the Task Queue already exists. If it exists, monitor the status of the task instance. If it does not exist, resubmit the task instance.
@@ -200,7 +200,7 @@ After the ZooKeeper Master is fault-tolerant, it is rescheduled by the Scheduler
- Worker fault tolerance flow chart:
-
+
Once the Master Scheduler thread finds the task instance as "need to be fault tolerant", it takes over the task and resubmits.
@@ -239,13 +239,13 @@ In the early scheduling design, if there is no priority design and fair scheduli
- The priority of the process definition is that some processes need to be processed before other processes. This can be configured at the start of the process or at the time of scheduled start. There are 5 levels, followed by HIGHEST, HIGH, MEDIUM, LOW, and LOWEST. As shown below
-
+
- The priority of the task is also divided into 5 levels, followed by HIGHEST, HIGH, MEDIUM, LOW, and LOWEST. As shown below
-
+
##### VI. Logback and gRPC implement log access
@@ -256,7 +256,7 @@ In the early scheduling design, if there is no priority design and fair scheduli
- Considering the lightweightness of EasyScheduler as much as possible, gRPC was chosen to implement remote access log information.
-
+
- We use a custom Logback FileAppender and Filter function to generate a log file for each task instance.
diff --git a/docs/en_US/backend-deployment.md b/docs/en_US/backend-deployment.md
index f35c8d7a62..934a005f6b 100644
--- a/docs/en_US/backend-deployment.md
+++ b/docs/en_US/backend-deployment.md
@@ -69,7 +69,7 @@ Configure SSH secret-free login on deployment machines and other installation ma
Execute scripts for creating tables and importing basic data
```
- sh ./script/create_escheduler.sh
+ sh ./script/create-escheduler.sh
```
#### Preparations 5: Modify the deployment directory permissions and operation parameters
@@ -158,11 +158,11 @@ After normal compilation, ./target/escheduler-{version}/ is generated in the cur
* stop all services in the cluster
- ` sh ./bin/stop_all.sh`
+ ` sh ./bin/stop-all.sh`
* start all services in the cluster
- ` sh ./bin/start_all.sh`
+ ` sh ./bin/start-all.sh`
* start and stop one master server
@@ -201,7 +201,7 @@ sh ./bin/escheduler-daemon.sh stop alert-server
Database upgrade is a function added in version 1.0.2. The database can be upgraded automatically by executing the following command:
```upgrade
-sh ./script/upgrade_escheduler.sh
+sh ./script/upgrade-escheduler.sh
```
diff --git a/docs/en_US/frontend-deployment.md b/docs/en_US/frontend-deployment.md
index 46372c2d88..919caf1485 100644
--- a/docs/en_US/frontend-deployment.md
+++ b/docs/en_US/frontend-deployment.md
@@ -64,7 +64,7 @@ server {
index index.html index.html;
}
location /escheduler {
- proxy_pass http://192.168.xx.xx:12345; # nterface address (self-modifying)
+ proxy_pass http://192.168.xx.xx:12345; # interface address (self-modifying)
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header x_real_ipP $remote_addr;
diff --git a/docs/en_US/frontend-development.md b/docs/en_US/frontend-development.md
index fc27f40613..286c598dbc 100644
--- a/docs/en_US/frontend-development.md
+++ b/docs/en_US/frontend-development.md
@@ -63,7 +63,7 @@ Copy it to the corresponding directory of the server (front-end service static p
Visit address` http://localhost:8888/#/`
-#### Start with node and daemon under Liunx
+#### Start with node and daemon under Linux
Install pm2 `npm install -g pm2`
@@ -238,7 +238,7 @@ The internal common component of the `src/js/module/components` project writes t
├── conditions
├── conditions.vue
└── _source
- └── serach.vue
+ └── search.vue
└── util.js
```
diff --git a/docs/en_US/system-manual.md b/docs/en_US/system-manual.md
index d5a63af80d..d571e1d66f 100644
--- a/docs/en_US/system-manual.md
+++ b/docs/en_US/system-manual.md
@@ -340,7 +340,7 @@ conf/common/hadoop.properties
- Queues are used to execute spark, mapreduce and other programs, which require the use of "queue" parameters.
-- "Security" - > "Queue Manage" - > "Creat Queue"
+- "Security" - > "Queue Manage" - > "Create Queue"
@@ -403,7 +403,7 @@ conf/common/hadoop.properties
try {
// execute
response = httpclient.execute(httpPost);
- // eponse status code 200
+ // response status code 200
if (response.getStatusLine().getStatusCode() == 200) {
String content = EntityUtils.toString(response.getEntity(), "UTF-8");
System.out.println(content);
@@ -533,7 +533,7 @@ conf/common/hadoop.properties
-- Datasource: The data source type of stored procedure supports MySQL and POSTGRRESQL, and chooses the corresponding data source.
+- Datasource: The data source type of stored procedure supports MySQL and POSTGRESQL, and chooses the corresponding data source.
- Method: The method name of the stored procedure
- Custom parameters: Custom parameter types of stored procedures support IN and OUT, and data types support nine data types: VARCHAR, INTEGER, LONG, FLOAT, DOUBLE, DATE, TIME, TIMESTAMP and BOOLEAN.
diff --git a/docs/en_US/upgrade.md b/docs/en_US/upgrade.md
index 47bfc19f18..b5c743fd84 100644
--- a/docs/en_US/upgrade.md
+++ b/docs/en_US/upgrade.md
@@ -5,7 +5,7 @@
## 2. Stop all services of escheduler
- `sh ./script/stop_all.sh`
+ `sh ./script/stop-all.sh`
## 3. Download the new version of the installation package
@@ -23,7 +23,7 @@
- Execute database upgrade script
-`sh ./script/upgrade_escheduler.sh`
+`sh ./script/upgrade-escheduler.sh`
## 5. Backend service upgrade
diff --git a/docs/zh_CN/前端开发文档.md b/docs/zh_CN/前端开发文档.md
index b3e8aa82d9..f805f5ed8c 100644
--- a/docs/zh_CN/前端开发文档.md
+++ b/docs/zh_CN/前端开发文档.md
@@ -64,7 +64,7 @@ npm install node-sass --unsafe-perm //单独安装node-sass依赖
访问地址 `http://localhost:8888/#/`
-#### Liunx下使用node启动并且守护进程
+#### Linux下使用node启动并且守护进程
安装pm2 `npm install -g pm2`
@@ -237,7 +237,7 @@ export default {
├── conditions
├── conditions.vue
└── _source
- └── serach.vue
+ └── search.vue
└── util.js
```
diff --git a/docs/zh_CN/升级文档.md b/docs/zh_CN/升级文档.md
index f7bafff6c1..83166971fc 100644
--- a/docs/zh_CN/升级文档.md
+++ b/docs/zh_CN/升级文档.md
@@ -5,7 +5,7 @@
## 2. 停止escheduler所有服务
- `sh ./script/stop_all.sh`
+ `sh ./script/stop-all.sh`
## 3. 下载新版本的安装包
@@ -23,7 +23,7 @@
- 执行数据库升级脚本
-`sh ./script/upgrade_escheduler.sh`
+`sh ./script/upgrade-escheduler.sh`
## 5. 后端服务升级
diff --git a/docs/zh_CN/后端部署文档.md b/docs/zh_CN/后端部署文档.md
index 8ab315a355..bf217880a5 100644
--- a/docs/zh_CN/后端部署文档.md
+++ b/docs/zh_CN/后端部署文档.md
@@ -63,7 +63,7 @@ escheduler ALL=(ALL) NOPASSWD: NOPASSWD: ALL
```
执行创建表和导入基础数据脚本
```
- sh ./script/create_escheduler.sh
+ sh ./script/create-escheduler.sh
```
#### 准备五: 修改部署目录权限及运行参数
@@ -164,11 +164,11 @@ install.sh : 一键部署脚本
* 一键停止集群所有服务
- ` sh ./bin/stop_all.sh`
+ ` sh ./bin/stop-all.sh`
* 一键开启集群所有服务
- ` sh ./bin/start_all.sh`
+ ` sh ./bin/start-all.sh`
* 启停Master
@@ -206,5 +206,5 @@ sh ./bin/escheduler-daemon.sh stop alert-server
## 3、数据库升级
数据库升级是在1.0.2版本增加的功能,执行以下命令即可自动升级数据库
```
-sh ./script/upgrade_escheduler.sh
+sh ./script/upgrade-escheduler.sh
```
diff --git a/docs/zh_CN/系统使用手册.md b/docs/zh_CN/系统使用手册.md
index 2e5ee635b3..348cc2b36a 100644
--- a/docs/zh_CN/系统使用手册.md
+++ b/docs/zh_CN/系统使用手册.md
@@ -110,7 +110,7 @@
> 点击任务实例节点,点击**查看历史**,可以查看该工作流实例运行的该任务实例列表