You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dolphinscheduler.apache.org by gi...@apache.org on 2019/12/19 10:41:19 UTC

[incubator-dolphinscheduler-website] branch asf-site updated: Automated deployment: Thu Dec 19 10:41:09 UTC 2019 811385883a0fd263d6e99c30d613658bd06fe235

This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/incubator-dolphinscheduler-website.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new d660476  Automated deployment: Thu Dec 19 10:41:09 UTC 2019 811385883a0fd263d6e99c30d613658bd06fe235
d660476 is described below

commit d6604761a8a96aa858540542093bd50025e8e71e
Author: dailidong <da...@users.noreply.github.com>
AuthorDate: Thu Dec 19 10:41:10 2019 +0000

    Automated deployment: Thu Dec 19 10:41:09 UTC 2019 811385883a0fd263d6e99c30d613658bd06fe235
---
 build/blog.js                                    |  2 +-
 build/blogDetail.js                              |  2 +-
 build/community.js                               |  4 +-
 build/documentation.js                           |  2 +-
 build/home.js                                    |  2 +-
 en-us/blog/meetup_2019_12_08.html                | 51 +++++++++++++++++
 en-us/blog/meetup_2019_12_08.json                |  6 ++
 en-us/community/index.html                       |  2 +-
 en-us/docs/development/architecture-design.html  | 14 ++---
 en-us/docs/development/architecture-design.json  |  2 +-
 en-us/docs/development/frontend-development.html |  6 +-
 en-us/docs/development/frontend-development.json |  2 +-
 en-us/docs/faq.html                              | 25 ++++----
 en-us/docs/faq.json                              |  2 +-
 zh-cn/blog/meetup_2019_12_08.html                | 51 +++++++++++++++++
 zh-cn/blog/meetup_2019_12_08.json                |  6 ++
 zh-cn/community/index.html                       |  2 +-
 zh-cn/docs/development/architecture-design.html  | 73 ------------------------
 zh-cn/docs/development/architecture-design.json  |  2 +-
 zh-cn/docs/faq.html                              | 42 +++++++-------
 zh-cn/docs/faq.json                              |  2 +-
 21 files changed, 170 insertions(+), 130 deletions(-)

diff --git a/build/blog.js b/build/blog.js
index c72d0ce..35c0e4a 100644
--- a/build/blog.js
+++ b/build/blog.js
@@ -8,7 +8,7 @@ object-assign
 (c) Sindre Sorhus
 @license MIT
 */
-var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...]
+var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...]
  * react-is.production.min.js
  *
  * Copyright (c) Facebook, Inc. and its affiliates.
diff --git a/build/blogDetail.js b/build/blogDetail.js
index 0da3d21..02ccabf 100644
--- a/build/blogDetail.js
+++ b/build/blogDetail.js
@@ -8,7 +8,7 @@ object-assign
 (c) Sindre Sorhus
 @license MIT
 */
-var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...]
+var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...]
  * react-is.production.min.js
  *
  * Copyright (c) Facebook, Inc. and its affiliates.
diff --git a/build/community.js b/build/community.js
index 6268f41..8324937 100644
--- a/build/community.js
+++ b/build/community.js
@@ -8,7 +8,7 @@ object-assign
 (c) Sindre Sorhus
 @license MIT
 */
-var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...]
+var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...]
  * react-is.production.min.js
  *
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -32,4 +32,4 @@ Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof Symbol
  * Copyright © 2012-2019 Faisal Salman <f...@faisalman.com>
  * Licensed under MIT License
  */
-return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:void 0},trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},h={rgx:function(e,t){for(var n,r,o,i,a,c,s=0;s<t.length&&!a;){var l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!a;)if(a=l[n++].exec(e))for(o=0;o<u.length;o++)c=a[++r],i=u[o],"object"==typeof i&&i.length>0?2==i.length?"function"==typeof i[1]?this[i[0]]=i[1].call(this,c):this[i[0]]=i[1]:3==i.length?"function"!=typeof i[1]||i[1].exec&&i[1].test?this[i [...]
\ No newline at end of file
+return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:void 0},trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},h={rgx:function(e,t){for(var n,r,o,i,a,c,s=0;s<t.length&&!a;){var l=t[s],u=t[s+1];for(n=r=0;n<l.length&&!a;)if(a=l[n++].exec(e))for(o=0;o<u.length;o++)c=a[++r],i=u[o],"object"==typeof i&&i.length>0?2==i.length?"function"==typeof i[1]?this[i[0]]=i[1].call(this,c):this[i[0]]=i[1]:3==i.length?"function"!=typeof i[1]||i[1].exec&&i[1].test?this[i [...]
\ No newline at end of file
diff --git a/build/documentation.js b/build/documentation.js
index 1cad27c..c76ffb1 100644
--- a/build/documentation.js
+++ b/build/documentation.js
@@ -8,7 +8,7 @@ object-assign
 (c) Sindre Sorhus
 @license MIT
 */
-var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...]
+var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...]
  * react-is.production.min.js
  *
  * Copyright (c) Facebook, Inc. and its affiliates.
diff --git a/build/home.js b/build/home.js
index 3626a35..2a92124 100644
--- a/build/home.js
+++ b/build/home.js
@@ -8,7 +8,7 @@ object-assign
 (c) Sindre Sorhus
 @license MIT
 */
-var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...]
+var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmn [...]
  * react-is.production.min.js
  *
  * Copyright (c) Facebook, Inc. and its affiliates.
diff --git a/en-us/blog/meetup_2019_12_08.html b/en-us/blog/meetup_2019_12_08.html
new file mode 100644
index 0000000..b6a17b0
--- /dev/null
+++ b/en-us/blog/meetup_2019_12_08.html
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+	<meta charset="UTF-8">
+	<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
+	<meta name="keywords" content="meetup_2019_12_08" />
+	<meta name="description" content="meetup_2019_12_08" />
+	<!-- 网页标签标题 -->
+	<title>meetup_2019_12_08</title>
+	<link rel="shortcut icon" href="/img/docsite.ico"/>
+	<link rel="stylesheet" href="/build/blogDetail.css" />
+</head>
+<body>
+	<div id="root"><div class="blog-detail-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant-m [...]
+<p>Apache ShardingSphere &amp; DolphinScheduler joint Meetup</p>
+<p>Address: 7th Floor, Haizhi Venture Capital Building, No. 34 Beijing Haidian Street</p>
+<p>Meeting time: December 8, 2019 14:00 ~ 17: 30</p>
+<p><strong>Meetup description</strong></p>
+<p>Today, open source is blooming in China, and the open source trend is unstoppable. The Apache community already has more than 10 open source projects from our native China. This time, users and technology enthusiasts who joined the two Apache community projects gathered together to share open source technologies together for China's native open source contribution!</p>
+<p>Apache ShardingSphere (Incubator) is a set of open source distributed database middleware. It aims to fully and reasonably utilize the computing and storage capabilities of relational databases in distributed scenarios, and provides standardized data sharding, distributed transactions, and database governance. Functions can be applied to various diverse application scenarios such as Java isomorphism, heterogeneous languages, and cloud native.</p>
+<p>Apache DolphinScheduler (Incubator) is a distributed decentralized, easily scalable visual DAG workflow task scheduling system. Committed to solving the intricate dependencies in the data processing process, it has features such as high reliability (HA), easy expansion, support for most task scenarios, and ease of use (visual drag), and has been used by dozens of companies.</p>
+<p>The two communities are invited to use the theory and practice of partners and Committer to share experience and communicate on the spot. At the end of the event, there will be wonderful discussions on how to join the Apache community and become a Committer or PPMC. Contribute to open source together!</p>
+<p><strong>The agenda is as follows</strong></p>
+<ul>
+<li>14:00 - 14:40 The integration of DolphinScheduler and containerization (Xiaochun Liu) <a href="/download/2019-12-08/DolphinScheduler_liuxiaochun.pptx">PPT</a></li>
+<li>14:40 - 15:20 Analyzing of Sharding-Proxy principle (Yonglun Zhang <a href="/download/2019-12-08/ShardingSphere_zhangyonglun.pptx">PPT</a></li>
+<li>15:20 - 16:00 Migration and application of DolphinScheduler in Baiwang (Shuang Yang)<a href="/download/2019-12-08/DolphinScheduler_yangshuang.pptx">PPT</a></li>
+<li>16:10 - 16:40 The Architecture of ShardingSphere and Roadmap (Juan Pan)  <a href="/download/2019-12-08/ShardingSphere_panjuan.pptx">PPT</a></li>
+<li>16:40 - 17:20 Roundtable Discussion - How to join the Apache community and to be a committer</li>
+<li>Free discussion</li>
+</ul>
+<p><strong>Wonderful moment</strong></p>
+<p><img src="/img/2019-12-08/951576036704_.pic_hd.jpg" alt="avatar"></p>
+<p><img src="/img/2019-12-08/961576036709_.pic_hd.jpg" alt="avatar"></p>
+<p><img src="/img/2019-12-08/971576036713_.pic_hd.jpg" alt="avatar"></p>
+<p><img src="/img/2019-12-08/981576036714_.pic.jpg" alt="avatar"></p>
+<p><img src="/img/2019-12-08/991576036717_.pic_hd.jpg" alt="avatar"></p>
+</section><footer class="footer-container"><div class="footer-body"><img src="/img/ds_gray.svg"/><div class="cols-container"><div class="col col-12"><h3>Disclaimer</h3><p>Apache DolphinScheduler (incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by Incubator. 
+Incubation is required of all newly accepted projects until a further review indicates 
+that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. 
+While incubation status is not necessarily a reflection of the completeness or stability of the code, 
+it does indicate that the project has yet to be fully endorsed by the ASF.</p></div><div class="col col-6"><dl><dt>Documentation</dt><dd><a href="/en-us/docs/developer_guide/architecture-design.html" target="_self">Overview</a></dd><dd><a href="/en-us/docs/user_doc/quick-start.html" target="_self">Quick start</a></dd><dd><a href="/en-us/docs/development/developers.html" target="_self">Developer guide</a></dd></dl></div><div class="col col-6"><dl><dt>ASF</dt><dd><a href="http://www.apache [...]
+	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
+	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
+	<script>
+		window.rootPath = '';
+  </script>
+	<script src="/build/blogDetail.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/en-us/blog/meetup_2019_12_08.json b/en-us/blog/meetup_2019_12_08.json
new file mode 100644
index 0000000..430744d
--- /dev/null
+++ b/en-us/blog/meetup_2019_12_08.json
@@ -0,0 +1,6 @@
+{
+  "filename": "meetup_2019_12_08.md",
+  "__html": "<p><img src=\"/img/2019-12-08/941576036700_.pic_hd.jpg\" alt=\"avatar\"></p>\n<p>Apache ShardingSphere &amp; DolphinScheduler joint Meetup</p>\n<p>Address: 7th Floor, Haizhi Venture Capital Building, No. 34 Beijing Haidian Street</p>\n<p>Meeting time: December 8, 2019 14:00 ~ 17: 30</p>\n<p><strong>Meetup description</strong></p>\n<p>Today, open source is blooming in China, and the open source trend is unstoppable. The Apache community already has more than 10 open source pr [...]
+  "link": "/en-us/blog/meetup_2019_12_08.html",
+  "meta": {}
+}
\ No newline at end of file
diff --git a/en-us/community/index.html b/en-us/community/index.html
index d6d60c0..98b6e5e 100644
--- a/en-us/community/index.html
+++ b/en-us/community/index.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/community.css" />
 </head>
 <body>
-	<div id="root"><div class="community-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant-men [...]
+	<div id="root"><div class="community-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">中</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant-men [...]
 Incubation is required of all newly accepted projects until a further review indicates 
 that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. 
 While incubation status is not necessarily a reflection of the completeness or stability of the code, 
diff --git a/en-us/docs/development/architecture-design.html b/en-us/docs/development/architecture-design.html
index 902da86..98a0cb6 100644
--- a/en-us/docs/development/architecture-design.html
+++ b/en-us/docs/development/architecture-design.html
@@ -28,11 +28,11 @@
 <p><strong>Task type</strong>: Currently supports SHELL, SQL, SUB_PROCESS (sub-process), PROCEDURE, MR, SPARK, PYTHON, DEPENDENT (dependency), and plans to support dynamic plug-in extension, note: the sub-<strong>SUB_PROCESS</strong> is also A separate process definition that can be launched separately</p>
 <p><strong>Schedule mode</strong> :  The system supports timing schedule and manual schedule based on cron expressions. Command type support: start workflow, start execution from current node, resume fault-tolerant workflow, resume pause process, start execution from failed node, complement, timer, rerun, pause, stop, resume waiting thread. Where <strong>recovers the fault-tolerant workflow</strong> and <strong>restores the waiting thread</strong> The two command types are used by the sc [...]
 <p><strong>Timed schedule</strong>: The system uses <strong>quartz</strong> distributed scheduler and supports the generation of cron expression visualization</p>
-<p><strong>Dependency</strong>: The system does not only support <strong>DAG</strong> Simple dependencies between predecessors and successor nodes, but also provides <strong>task dependencies</strong> nodes, support for custom task dependencies between processes**</p>
+<p><strong>Dependency</strong>: The system does not only support <strong>DAG</strong> Simple dependencies between predecessors and successor nodes, but also provides <strong>task dependencies</strong> nodes, support for <strong>custom task dependencies between processes</strong></p>
 <p><strong>Priority</strong>: Supports the priority of process instances and task instances. If the process instance and task instance priority are not set, the default is first in, first out.</p>
 <p><strong>Mail Alert</strong>: Support <strong>SQL Task</strong> Query Result Email Send, Process Instance Run Result Email Alert and Fault Tolerant Alert Notification</p>
 <p><strong>Failure policy</strong>: For tasks running in parallel, if there are tasks that fail, two failure policy processing methods are provided. <strong>Continue</strong> means that the status of the task is run in parallel until the end of the process failure. <strong>End</strong> means that once a failed task is found, Kill also drops the running parallel task and the process ends.</p>
-<p><strong>Complement</strong>: Complement historical data, support ** interval parallel and serial ** two complement methods</p>
+<p><strong>Complement</strong>: Complement historical data, support <strong>interval parallel and serial</strong> two complement methods</p>
 <h3>2.System architecture</h3>
 <h4>2.1 System Architecture Diagram</h4>
 <p align="center">
@@ -53,7 +53,7 @@ When the MasterServer service starts, it registers a temporary node with Zookeep
 <p><strong>Distributed Quartz</strong> distributed scheduling component, mainly responsible for the start and stop operation of the scheduled task. When the quartz picks up the task, the master internally has a thread pool to be responsible for the subsequent operations of the task.</p>
 </li>
 <li>
-<p><strong>MasterSchedulerThread</strong> is a scan thread that periodically scans the <strong>command</strong> table in the database for different business operations based on different ** command types**</p>
+<p><strong>MasterSchedulerThread</strong> is a scan thread that periodically scans the <strong>command</strong> table in the database for different business operations based on different <strong>command types</strong></p>
 </li>
 <li>
 <p><strong>MasterExecThread</strong> is mainly responsible for DAG task segmentation, task submission monitoring, logic processing of various command types</p>
@@ -191,7 +191,7 @@ Interfaces include workflow creation, definition, query, modification, release,
 <p>Here we must first distinguish between the concept of task failure retry, process failure recovery, and process failure rerun:</p>
 <ul>
 <li>Task failure Retry is task level, which is automatically performed by the scheduling system. For example, if a shell task sets the number of retries to 3 times, then the shell task will try to run up to 3 times after failing to run.</li>
-<li>Process failure recovery is process level, is done manually, recovery can only be performed from the failed node ** or ** from the current node **</li>
+<li>Process failure recovery is process level, is done manually, recovery can only be performed <strong>from the failed node</strong> or <strong>from the current node</strong></li>
 <li>Process failure rerun is also process level, is done manually, rerun is from the start node</li>
 </ul>
 <p>Next, let's talk about the topic, we divided the task nodes in the workflow into two types.</p>
@@ -199,16 +199,16 @@ Interfaces include workflow creation, definition, query, modification, release,
 <li>One is a business node, which corresponds to an actual script or processing statement, such as a Shell node, an MR node, a Spark node, a dependent node, and so on.</li>
 <li>There is also a logical node, which does not do the actual script or statement processing, but the logical processing of the entire process flow, such as sub-flow sections.</li>
 </ul>
-<p>Each ** service node** can configure the number of failed retries. When the task node fails, it will automatically retry until it succeeds or exceeds the configured number of retries. <strong>Logical node</strong> does not support failed retry. But the tasks in the logical nodes support retry.</p>
+<p>Each <strong>service node</strong> can configure the number of failed retries. When the task node fails, it will automatically retry until it succeeds or exceeds the configured number of retries. <strong>Logical node</strong> does not support failed retry. But the tasks in the logical nodes support retry.</p>
 <p>If there is a task failure in the workflow that reaches the maximum number of retries, the workflow will fail to stop, and the failed workflow can be manually rerun or process resumed.</p>
 <h5>V. Task priority design</h5>
 <p>In the early scheduling design, if there is no priority design and fair scheduling design, it will encounter the situation that the task submitted first may be completed simultaneously with the task submitted subsequently, but the priority of the process or task cannot be set. We have redesigned this, and we are currently designing it as follows:</p>
 <ul>
 <li>
-<p>According to ** different process instance priority ** prioritizes ** same process instance priority ** prioritizes ** task priority within the same process ** takes precedence over ** same process ** commit order from high Go to low for task processing.</p>
+<p>According to <strong>different process instance priority</strong> prioritizes <strong>same process instance priority</strong> prioritizes <strong>task priority within the same process</strong> takes precedence over <strong>same process</strong> commit order from high Go to low for task processing.</p>
 <ul>
 <li>
-<p>The specific implementation is to resolve the priority according to the json of the task instance, and then save the ** process instance priority _ process instance id_task priority _ task id** information in the ZooKeeper task queue, when obtained from the task queue, Through string comparison, you can get the task that needs to be executed first.</p>
+<p>The specific implementation is to resolve the priority according to the json of the task instance, and then save the <strong>process instance priority _ process instance id_task priority _ task id</strong> information in the ZooKeeper task queue, when obtained from the task queue, Through string comparison, you can get the task that needs to be executed first.</p>
 <ul>
 <li>
 <p>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</p>
diff --git a/en-us/docs/development/architecture-design.json b/en-us/docs/development/architecture-design.json
index e44b97c..61514b6 100644
--- a/en-us/docs/development/architecture-design.json
+++ b/en-us/docs/development/architecture-design.json
@@ -1,6 +1,6 @@
 {
   "filename": "architecture-design.md",
-  "__html": "<h2>Architecture Design</h2>\n<p>Before explaining the architecture of the schedule system, let us first understand the common nouns of the schedule system.</p>\n<h3>1.Noun Interpretation</h3>\n<p><strong>DAG:</strong> 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 fol [...]
+  "__html": "<h2>Architecture Design</h2>\n<p>Before explaining the architecture of the schedule system, let us first understand the common nouns of the schedule system.</p>\n<h3>1.Noun Interpretation</h3>\n<p><strong>DAG:</strong> 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 fol [...]
   "link": "/en-us/docs/development/architecture-design.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/development/frontend-development.html b/en-us/docs/development/frontend-development.html
index 5b90a1b..b7d25d0 100644
--- a/en-us/docs/development/frontend-development.html
+++ b/en-us/docs/development/frontend-development.html
@@ -61,7 +61,7 @@ API_BASE = http://192.168.xx.xx:12345
 <blockquote>
 <h5>! ! ! Special attention here. If the project reports a &quot;node-sass error&quot; error while pulling the dependency package, execute the following command again after execution.</h5>
 </blockquote>
-<pre><code>npm install node-sass --unsafe-perm //单独安装node-sass依赖
+<pre><code>npm install node-sass --unsafe-perm //Install node-sass dependency separately
 </code></pre>
 <ul>
 <li>
@@ -413,7 +413,7 @@ test.then(res =&gt; {
   msg:'success'
 }
 </code></pre>
-<p>错误返回</p>
+<p>Error return</p>
 <pre><code>{
   code:10000, 
   data:{}
@@ -469,7 +469,7 @@ test.then(res =&gt; {
 <p>(4) Common components used inside the node component are under<code>_source</code>, and <code>commcon.js</code> is used to configure public data.</p>
 <h5>2.Increase the status type</h5>
 <p>(1) Find the <code>tasksState</code> object in <code>src/js/conf/home/pages/dag/_source/config.js</code> and add it to it.</p>
-<pre><code> 'WAITTING_DEPEND': {  // 'WAITTING_DEPEND': {  //后端定义状态类型 前端用作key值
+<pre><code> 'WAITTING_DEPEND': {  // 'WAITTING_DEPEND': {  //Backend defines state type, frontend is used as key value
   id: 11,  // front-end definition id is used as a sort
   desc: `${i18n.$t('waiting for dependency')}`,  // tooltip desc
   color: '#5101be',  // The color represented is mainly used for tree and gantt
diff --git a/en-us/docs/development/frontend-development.json b/en-us/docs/development/frontend-development.json
index 43d9201..1f31b10 100644
--- a/en-us/docs/development/frontend-development.json
+++ b/en-us/docs/development/frontend-development.json
@@ -1,6 +1,6 @@
 {
   "filename": "frontend-development.md",
-  "__html": "<h1>Front-end development documentation</h1>\n<h3>Technical selection</h3>\n<pre><code>Vue mvvm framework\n\nEs6 ECMAScript 6.0\n\nAns-ui Analysys-ui\n\nD3  Visual Library Chart Library\n\nJsplumb connection plugin library\n\nLodash high performance JavaScript utility library\n</code></pre>\n<h3>Development environment</h3>\n<ul>\n<li>\n<h4>Node installation</h4>\n</li>\n</ul>\n<p>Node package download (note version 8.9.4) <code>https://nodejs.org/download/release/v8.9.4/</c [...]
+  "__html": "<h1>Front-end development documentation</h1>\n<h3>Technical selection</h3>\n<pre><code>Vue mvvm framework\n\nEs6 ECMAScript 6.0\n\nAns-ui Analysys-ui\n\nD3  Visual Library Chart Library\n\nJsplumb connection plugin library\n\nLodash high performance JavaScript utility library\n</code></pre>\n<h3>Development environment</h3>\n<ul>\n<li>\n<h4>Node installation</h4>\n</li>\n</ul>\n<p>Node package download (note version 8.9.4) <code>https://nodejs.org/download/release/v8.9.4/</c [...]
   "link": "/en-us/docs/development/frontend-development.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/faq.html b/en-us/docs/faq.html
index 6473c4f..2f5f042 100644
--- a/en-us/docs/faq.html
+++ b/en-us/docs/faq.html
@@ -74,13 +74,12 @@
 <p>A: Install <strong>npm install node-sass --unsafe-perm</strong> separately, then <strong>npm install</strong></p>
 <hr>
 <h2>Q: UI cannot log in normally.</h2>
-<p>A: 1, if it is node startup, check whether the .env API_BASE configuration under dolphinscheduler-ui is the Api Server service address.</p>
-<pre><code>2, If it is nginx booted and installed via **install-dolphinscheduler-ui.sh**, check if the proxy_pass configuration in **/etc/nginx/conf.d/dolphinscheduler.conf** is the Api Server service. address
-
- 3, if the above configuration is correct, then please check if the Api Server service is normal, curl http://192.168.xx.xx:12345/dolphinscheduler/users/get-user-info, check the Api Server log, if Prompt cn.dolphinscheduler.api.interceptor.LoginHandlerInterceptor:[76] - session info is null, which proves that the Api Server service is normal.
-
-4, if there is no problem above, you need to check if **server.context-path and server.port configuration** in **application.properties** is correct
-</code></pre>
+<p>A:   1, if it is node startup, check whether the .env API_BASE configuration under dolphinscheduler-ui is the Api Server service address.</p>
+<p>​       2, If it is nginx booted and installed via <strong><a href="http://install-dolphinscheduler-ui.sh">install-dolphinscheduler-ui.sh</a></strong>, check if the proxy_pass      			configuration in <strong>/etc/nginx/conf.d/dolphinscheduler.conf</strong> is the Api Server service address</p>
+<p>​       3, if the above configuration is correct, then please check if the Api Server service is normal,</p>
+<p>​		   curl <a href="http://192.168.xx.xx:12345/dolphinscheduler/users/get-user-info">http://192.168.xx.xx:12345/dolphinscheduler/users/get-user-info</a>, check the Api Server log,</p>
+<p>​          if  Prompt cn.dolphinscheduler.api.interceptor.LoginHandlerInterceptor:[76] - session info is null,   		  which proves that the Api Server service is normal.</p>
+<p>​		4, if there is no problem above, you need to check if <strong>server.context-path and server.port configuration</strong> in <strong>application.properties</strong> is correct</p>
 <hr>
 <h2>Q: After the process definition is manually started or scheduled, no process instance is generated.</h2>
 <p>A:   1, first <strong>check whether the MasterServer service exists through jps</strong>, or directly check whether there is a master service in zk from the service monitoring.</p>
@@ -89,7 +88,7 @@
 <h2>Q : The task status is always in the successful submission status.</h2>
 <p>A:   1, <strong>first check whether the WorkerServer service exists through jps</strong>, or directly check whether there is a worker service in zk from the service monitoring.</p>
 <p>​       2,If the <strong>WorkerServer</strong> service is normal, you need to <strong>check whether the MasterServer puts the task task in the zk queue. You need to check whether the task is blocked in the MasterServer log and the zk queue.</strong></p>
-<p>​       3, if there is no problem above, you need to locate whether the Worker group is specified, but <strong>the machine grouped by the worker is not online</strong>.**</p>
+<p>​       3, if there is no problem above, you need to locate whether the Worker group is specified, but <strong>the machine grouped by the worker is not online</strong>.</p>
 <hr>
 <h2>Q: Is there a Docker image and a Dockerfile?</h2>
 <p>A: Provide Docker image and Dockerfile.</p>
@@ -142,8 +141,8 @@
 <h2>Q: Is there a valid time range for timing?</h2>
 <p>A: Yes, <strong>if the timing start and end time is the same time, then this timing will be invalid timing. If the end time of the start and end time is smaller than the current time, it is very likely that the timing will be automatically deleted.</strong></p>
 <h2>Q : There are several implementations of task dependencies</h2>
-<p>A:	1, the task dependency between <strong>DAG</strong>, is <strong>from the zero degree</strong> of the DAG segmentation</p>
-<p>​	2, there are <strong>task dependent nodes</strong>, you can achieve cross-process tasks or process dependencies, please refer to the (DEPENDENT) node design in the system-manual.</p>
+<p>A:	1, the task dependency between <strong>DAG</strong>, is <strong>from the zero degree</strong> of the DAG segmentation</p>
+<p>​		2, there are <strong>task dependent nodes</strong>, you can achieve cross-process tasks or process dependencies, please refer to the (DEPENDENT) node design in the system-manual.</p>
 <p>​	Note: <strong>Cross-project processes or task dependencies are not supported</strong></p>
 <h2>Q: There are several ways to start the process definition.</h2>
 <p>A:   1, in <strong>the process definition list</strong>, click the <strong>Start</strong> button.</p>
@@ -151,19 +150,19 @@
 <p>​       3, process definition <strong>view or edit</strong> the DAG page, any <strong>task node right click</strong> Start process definition.</p>
 <p>​       4, you can define DAG editing for the process, set the running flag of some tasks to <strong>prohibit running</strong>, when the process definition is started, the connection of the node will be removed from the DAG.</p>
 <h2>Q : Python task setting Python version</h2>
-<p>A:  1,<strong>for the version after 1.0.3</strong> only need to modify PYTHON_HOME in conf/env/.dolphinscheduler_env.sh</p>
+<p>A:	1,<strong>for the version after 1.0.3</strong> only need to modify PYTHON_HOME in conf/env/.dolphinscheduler_env.sh</p>
 <pre><code>export PYTHON_HOME=/bin/python
 </code></pre>
 <p>Note: This is <strong>PYTHON_HOME</strong> , which is the absolute path of the python command, not the simple PYTHON_HOME. Also note that when exporting the PATH, you need to directly</p>
 <pre><code>export PATH=$HADOOP_HOME/bin:$SPARK_HOME1/bin:$SPARK_HOME2/bin:$PYTHON_HOME:$JAVA_HOME/bin:$HIVE_HOME/bin:$PATH
 </code></pre>
-<p>​	2,For versions prior to 1.0.3, the Python task only supports the Python version of the system. It does not support specifying the Python version.</p>
+<p>​		2,For versions prior to 1.0.3, the Python task only supports the Python version of the system. It does not support specifying the Python version.</p>
 <h2>Q:Worker Task will generate a child process through sudo -u tenant sh xxx.command, will kill when kill</h2>
 <p>A:  We will add the kill task in 1.0.4 and kill all the various child processes generated by the task.</p>
 <h2>Q : How to use the queue in DolphinScheduler, what does the user queue and tenant queue mean?</h2>
 <p>A : The queue in the DolphinScheduler can be configured on the user or the tenant. <strong>The priority of the queue specified by the user is higher than the priority of the tenant queue.</strong> For example, to specify a queue for an MR task, the queue is specified by mapreduce.job.queuename.</p>
 <p>Note: When using the above method to specify the queue, the MR uses the following methods:</p>
-<pre><code>	Configuration conf = new Configuration();
+<pre><code>	      Configuration conf = new Configuration();
         GenericOptionsParser optionParser = new GenericOptionsParser(conf, args);
         String[] remainingArgs = optionParser.getRemainingArgs();
 </code></pre>
diff --git a/en-us/docs/faq.json b/en-us/docs/faq.json
index 44f1fa3..8eb92b9 100644
--- a/en-us/docs/faq.json
+++ b/en-us/docs/faq.json
@@ -1,6 +1,6 @@
 {
   "filename": "faq.md",
-  "__html": "<h2>Q: DolphinScheduler service introduction and recommended running memory</h2>\n<p>A: DolphinScheduler consists of 5 services, MasterServer, WorkerServer, ApiServer, AlertServer, LoggerServer and UI.</p>\n<table>\n<thead>\n<tr>\n<th>Service</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>MasterServer</td>\n<td>Mainly responsible for DAG segmentation and task status monitoring</td>\n</tr>\n<tr>\n<td>WorkerServer/LoggerServer</td>\n<td>Mainly responsible for  [...]
+  "__html": "<h2>Q: DolphinScheduler service introduction and recommended running memory</h2>\n<p>A: DolphinScheduler consists of 5 services, MasterServer, WorkerServer, ApiServer, AlertServer, LoggerServer and UI.</p>\n<table>\n<thead>\n<tr>\n<th>Service</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>MasterServer</td>\n<td>Mainly responsible for DAG segmentation and task status monitoring</td>\n</tr>\n<tr>\n<td>WorkerServer/LoggerServer</td>\n<td>Mainly responsible for  [...]
   "link": "/en-us/docs/faq.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/zh-cn/blog/meetup_2019_12_08.html b/zh-cn/blog/meetup_2019_12_08.html
new file mode 100644
index 0000000..a8614d1
--- /dev/null
+++ b/zh-cn/blog/meetup_2019_12_08.html
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+	<meta charset="UTF-8">
+	<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
+	<meta name="keywords" content="meetup_2019_12_08" />
+	<meta name="description" content="meetup_2019_12_08" />
+	<!-- 网页标签标题 -->
+	<title>meetup_2019_12_08</title>
+	<link rel="shortcut icon" href="/img/docsite.ico"/>
+	<link rel="stylesheet" href="/build/blogDetail.css" />
+</head>
+<body>
+	<div id="root"><div class="blog-detail-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/zh-cn/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">En</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant- [...]
+Apache ShardingSphere &amp; DolphinScheduler联合Meetup。</p>
+<p>地址:北京海淀大街34号海置创投大厦7层创业邦</p>
+<p>会议时间:2019年12月8日 14:00 ~17:30</p>
+<p><strong>活动介绍</strong></p>
+<p>如今,开源在中国遍地开花,开源之势不可挡,Apache社区已经有10多个来自咱们中国本土的开源项目,本次联合两个Apache社区项目的用户以及技术爱好者欢聚一堂,一起分享开源技术,一起为中国本土开源献力!</p>
+<p>Apache ShardingSphere(Incubator)是一套开源的分布式数据库中间件,旨在充分合理地在分布式的场景下利用关系型数据库的计算和存储能力,提供标准化的数据分片、分布式事务和数据库治理功能,可适用于如Java同构、异构语言、云原生等各种多样化的应用场景。</p>
+<p>Apache DolphinScheduler(Incubator)是一个分布式去中心化,易扩展的可视化DAG工作流任务调度系统。致力于解决数据处理流程中错综复杂的依赖关系,具有高可靠性(HA)、易扩展、支持绝大多数任务场景、简单易用(可视化拖拽)等特性,已在数十家公司使用。</p>
+<p>特邀请到两个社区的使用伙伴和Committer等理论+实践进行干货分享以及现场交流,活动的最后,会有如何加入Apache社区并成为Committer或PPMC的精彩讨论,引导大家成为开源社区的贡献者,一起为开源献一份力!</p>
+<p><strong>议程如下</strong></p>
+<ul>
+<li>14:00 - 14:40 DolphinScheduler与容器化的融合( 趣加游戏 &amp; Committer   刘小春)<a href="/download/2019-12-08/DolphinScheduler_liuxiaochun.pptx">PPT</a></li>
+<li>14:40 - 15:20 Sharding-Proxy原理解析(京东数科 &amp; PPMC  张永伦 )<a href="/download/2019-12-08/ShardingSphere_zhangyonglun.pptx">PPT</a></li>
+<li>15:20 - 16:00 DolphinScheduler在百望云的迁移和应用(大数据平台部总监   杨爽 )<a href="/download/2019-12-08/DolphinScheduler_yangshuang.pptx">PPT</a></li>
+<li>16:10 - 16:40 ShardingSphere的架构及未来规划 ( 京东数科高级DBA &amp;&amp; PPMC    潘娟 )<a href="/download/2019-12-08/ShardingSphere_panjuan.pptx">PPT</a></li>
+<li>16:40 - 17:20 圆桌讨论 - 如何加入Apache社区并且成为Committer</li>
+<li>自由讨论</li>
+</ul>
+<p><strong>精彩时刻</strong></p>
+<p><img src="/img/2019-12-08/951576036704_.pic_hd.jpg" alt="avatar"></p>
+<p><img src="/img/2019-12-08/961576036709_.pic_hd.jpg" alt="avatar"></p>
+<p><img src="/img/2019-12-08/971576036713_.pic_hd.jpg" alt="avatar"></p>
+<p><img src="/img/2019-12-08/981576036714_.pic.jpg" alt="avatar"></p>
+<p><img src="/img/2019-12-08/991576036717_.pic_hd.jpg" alt="avatar"></p>
+</section><footer class="footer-container"><div class="footer-body"><img src="/img/ds_gray.svg"/><div class="cols-container"><div class="col col-12"><h3>Disclaimer</h3><p>Apache DolphinScheduler (incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by Incubator. 
+Incubation is required of all newly accepted projects until a further review indicates 
+that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. 
+While incubation status is not necessarily a reflection of the completeness or stability of the code, 
+it does indicate that the project has yet to be fully endorsed by the ASF.</p></div><div class="col col-6"><dl><dt>文档</dt><dd><a href="/zh-cn/docs/developer_guide/architecture-design.html" target="_self">概览</a></dd><dd><a href="/zh-cn/docs/user_doc/quick-start.html" target="_self">快速开始</a></dd><dd><a href="/zh-cn/docs/development/developers.html" target="_self">开发者指南</a></dd></dl></div><div class="col col-6"><dl><dt>ASF</dt><dd><a href="http://www.apache.org" target="_self">基金会</a></dd>< [...]
+	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
+	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
+	<script>
+		window.rootPath = '';
+  </script>
+	<script src="/build/blogDetail.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/zh-cn/blog/meetup_2019_12_08.json b/zh-cn/blog/meetup_2019_12_08.json
new file mode 100644
index 0000000..633c635
--- /dev/null
+++ b/zh-cn/blog/meetup_2019_12_08.json
@@ -0,0 +1,6 @@
+{
+  "filename": "meetup_2019_12_08.md",
+  "__html": "<p><img src=\"/img/2019-12-08/941576036700_.pic_hd.jpg\" alt=\"avatar\">\nApache ShardingSphere &amp; DolphinScheduler联合Meetup。</p>\n<p>地址:北京海淀大街34号海置创投大厦7层创业邦</p>\n<p>会议时间:2019年12月8日 14:00 ~17:30</p>\n<p><strong>活动介绍</strong></p>\n<p>如今,开源在中国遍地开花,开源之势不可挡,Apache社区已经有10多个来自咱们中国本土的开源项目,本次联合两个Apache社区项目的用户以及技术爱好者欢聚一堂,一起分享开源技术,一起为中国本土开源献力!</p>\n<p>Apache ShardingSphere(Incubator)是一套开源的分布式数据库中间件,旨在充分合理地在分布式的场景下利用关系型数据库的计算和存储能力,提供标准化的数据分片、分布式事务和数据库治理功能,可适用于如Java同构、异构语言、云原生等各种多样化的应 [...]
+  "link": "/zh-cn/blog/meetup_2019_12_08.html",
+  "meta": {}
+}
\ No newline at end of file
diff --git a/zh-cn/community/index.html b/zh-cn/community/index.html
index d544d82..d3d4efb 100644
--- a/zh-cn/community/index.html
+++ b/zh-cn/community/index.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/community.css" />
 </head>
 <body>
-	<div id="root"><div class="community-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/zh-cn/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">En</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant-me [...]
+	<div id="root"><div class="community-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/zh-cn/index.html"><img class="logo" src="/img/hlogo_colorful.svg"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">En</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><div><ul class="ant-menu blackClass ant-me [...]
 Incubation is required of all newly accepted projects until a further review indicates 
 that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. 
 While incubation status is not necessarily a reflection of the completeness or stability of the code, 
diff --git a/zh-cn/docs/development/architecture-design.html b/zh-cn/docs/development/architecture-design.html
index 3039cb4..952d0f8 100644
--- a/zh-cn/docs/development/architecture-design.html
+++ b/zh-cn/docs/development/architecture-design.html
@@ -301,79 +301,6 @@ ZooKeeper Master容错完成之后则重新由DolphinScheduler中Scheduler线程
 </code></pre>
 <h3>总结</h3>
 <p>本文从调度出发,初步介绍了大数据分布式工作流调度系统--DolphinScheduler的架构原理及实现思路。未完待续</p>
-<p>有些流程需要先于其他流程进行处理。 可以在流程开始时或计划开始时进行配置。 有5个级别,依次为最高,高,中,低和最低。 如下所示</p>
-<pre><code>  &lt;p align=&quot;center&quot;&gt;
-     &lt;img src=&quot;https://analysys.github.io/easyscheduler_docs_cn/images/process_priority.png&quot; alt=&quot;Process Priority Configuration&quot; width=&quot;40%&quot; /&gt;
-   &lt;/p&gt;
-
-- The priority of the task is also divided into 5 levels, followed by HIGHEST, HIGH, MEDIUM, LOW, and LOWEST. As shown below
-
-  &lt;p align=&quot;center&quot;&gt;
-     &lt;img src=&quot;https://analysys.github.io/easyscheduler_docs_cn/images/task_priority.png&quot; alt=&quot;task priority configuration&quot; width=&quot;35%&quot; /&gt;
-   &lt;/p&gt;
-</code></pre>
-<h5>VI. Logback和gRPC实现日志访问</h5>
-<ul>
-<li>由于Web(UI)和工作器不一定位于同一台计算机上,因此查看日志的方式与查询本地文件的方式不同。 有两种选择:
-<ul>
-<li>将日志放在ES搜索引擎上</li>
-<li>通过gRPC通信获取远程日志信息</li>
-</ul>
-</li>
-<li>考虑到DolphinScheduler的轻巧性,选择了gRPC来实现远程访问日志信息。</li>
-</ul>
- <p align="center">
-   <img src="https://analysys.github.io/easyscheduler_docs_cn/images/grpc.png" alt="grpc remote access" width="50%" />
- </p>
-<ul>
-<li>我们使用自定义的Logback FileAppender和Filter函数为每个任务实例生成一个日志文件。</li>
-<li>FileAppender的主要实现如下:</li>
-</ul>
-<pre><code class="language-java"> <span class="hljs-comment">/**
-  * task log appender
-  */</span>
- Public <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">TaskLogAppender</span> <span class="hljs-keyword">extends</span> <span class="hljs-title">FileAppender</span>&lt;<span class="hljs-title">ILoggingEvent</span> </span>{
- 
-     ...
-
-    <span class="hljs-meta">@Override</span>
-    <span class="hljs-function">Protected <span class="hljs-keyword">void</span> <span class="hljs-title">append</span><span class="hljs-params">(ILoggingEvent event)</span> </span>{
-
-        If (currentlyActiveFile == <span class="hljs-keyword">null</span>){
-            currentlyActiveFile = getFile();
-        }
-        String activeFile = currentlyActiveFile;
-        <span class="hljs-comment">// thread name: taskThreadName-processDefineId_processInstanceId_taskInstanceId</span>
-        String threadName = event.getThreadName();
-        String[] threadNameArr = threadName.split(<span class="hljs-string">"-"</span>);
-        <span class="hljs-comment">// logId = processDefineId_processInstanceId_taskInstanceId</span>
-        String logId = threadNameArr[<span class="hljs-number">1</span>];
-        ...
-        <span class="hljs-keyword">super</span>.subAppend(event);
-    }
-}
-</code></pre>
-<p>以/ process definition id / process instance id / task instance id.log的形式生成日志</p>
-<ul>
-<li>过滤器匹配以TaskLogInfo开头的线程名称:</li>
-<li>TaskLogFilter is implemented as follows:</li>
-</ul>
-<pre><code class="language-java"> <span class="hljs-comment">/**
- * task log filter
- */</span>
-Public <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">TaskLogFilter</span> <span class="hljs-keyword">extends</span> <span class="hljs-title">Filter</span>&lt;<span class="hljs-title">ILoggingEvent</span> </span>{
-
-    <span class="hljs-meta">@Override</span>
-    <span class="hljs-function">Public FilterReply <span class="hljs-title">decide</span><span class="hljs-params">(ILoggingEvent event)</span> </span>{
-        If (event.getThreadName().startsWith(<span class="hljs-string">"TaskLogInfo-"</span>)){
-            Return FilterReply.ACCEPT;
-        }
-        Return FilterReply.DENY;
-    }
-}
-</code></pre>
-<h3>摘要</h3>
-<p>从调度开始,介绍了大数据分布式工作流调度系统DolphinScheduler的体系结构原理和实现思路。 未完待续</p>
 </div></section><footer class="footer-container"><div class="footer-body"><img src="/img/ds_gray.svg"/><div class="cols-container"><div class="col col-12"><h3>Disclaimer</h3><p>Apache DolphinScheduler (incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by Incubator. 
 Incubation is required of all newly accepted projects until a further review indicates 
 that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. 
diff --git a/zh-cn/docs/development/architecture-design.json b/zh-cn/docs/development/architecture-design.json
index 28bf5f3..459d7c4 100644
--- a/zh-cn/docs/development/architecture-design.json
+++ b/zh-cn/docs/development/architecture-design.json
@@ -1,6 +1,6 @@
 {
   "filename": "architecture-design.md",
-  "__html": "<h2>系统架构设计</h2>\n<p>在对调度系统架构说明之前,我们先来认识一下调度系统常用的名词</p>\n<h3>1.名词解释</h3>\n<p><strong>DAG:</strong> 全称Directed Acyclic Graph,简称DAG。工作流中的Task任务以有向无环图的形式组装起来,从入度为零的节点进行拓扑遍历,直到无后继节点为止。举例如下图:</p>\n<p align=\"center\">\n  <img src=\"/img/dag_examples_cn.jpg\" alt=\"dag示例\"  width=\"60%\" />\n  <p align=\"center\">\n        <em>dag示例</em>\n  </p>\n</p>\n<p><strong>流程定义</strong>:通过拖拽任务节点并建立任务节点的关联所形成的可视化<strong>DAG</strong></p>\n<p><strong>流程实例</strong>:流程实例是流程定义的实例化,可以通过手动启动或定时调度生成, [...]
+  "__html": "<h2>系统架构设计</h2>\n<p>在对调度系统架构说明之前,我们先来认识一下调度系统常用的名词</p>\n<h3>1.名词解释</h3>\n<p><strong>DAG:</strong> 全称Directed Acyclic Graph,简称DAG。工作流中的Task任务以有向无环图的形式组装起来,从入度为零的节点进行拓扑遍历,直到无后继节点为止。举例如下图:</p>\n<p align=\"center\">\n  <img src=\"/img/dag_examples_cn.jpg\" alt=\"dag示例\"  width=\"60%\" />\n  <p align=\"center\">\n        <em>dag示例</em>\n  </p>\n</p>\n<p><strong>流程定义</strong>:通过拖拽任务节点并建立任务节点的关联所形成的可视化<strong>DAG</strong></p>\n<p><strong>流程实例</strong>:流程实例是流程定义的实例化,可以通过手动启动或定时调度生成, [...]
   "link": "/zh-cn/docs/development/architecture-design.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/zh-cn/docs/faq.html b/zh-cn/docs/faq.html
index 5f443b8..9b44949 100644
--- a/zh-cn/docs/faq.html
+++ b/zh-cn/docs/faq.html
@@ -75,28 +75,28 @@
 <hr>
 <h2>Q:UI 不能正常登陆访问</h2>
 <p>A: 1,如果是node启动的查看dolphinscheduler-ui下的.env API_BASE配置是否是Api Server服务地址</p>
-<pre><code>2,如果是nginx启动的并且是通过 **install-dolphinscheduler-ui.sh** 安装的,查看             											**/etc/nginx/conf.d/dolphinscheduler.conf** 中的proxy_pass配置是否是Api Server服务地址
-
-3,如果以上配置都是正确的,那么请查看Api Server服务是否是正常的,curl http://192.168.xx.xx:12345/dolphinscheduler/users/get-user-info,查看Api Server日志,如果提示 cn.dolphinscheduler.api.interceptor.LoginHandlerInterceptor:[76] - session info is null,则证明Api Server服务是正常的
-
-4,如果以上都没有问题,需要查看一下 **application.properties** 中的 **server.context-path 和 server.port 配置**是否正确
-</code></pre>
+<p>​       2,如果是nginx启动的并且是通过<strong><a href="http://install-dolphinscheduler-ui.sh">install-dolphinscheduler-ui.sh</a></strong>安装的,查看</p>
+<p>​              <strong>/etc/nginx/conf.d/dolphinscheduler.conf</strong>中的proxy_pass配置是否是Api Server服务地址</p>
+<p>​        3,如果以上配置都是正确的,那么请查看Api Server服务是否是正常的,</p>
+<p>​			curl <a href="http://192.168.xx.xx:12345/dolphinscheduler/users/get-user-info">http://192.168.xx.xx:12345/dolphinscheduler/users/get-user-info</a> 查看Api Server日志,</p>
+<p>​			如果提示cn.dolphinscheduler.api.interceptor.LoginHandlerInterceptor:[76] - session info is null,则证			明Api Server服务是正常的</p>
+<p>​        4,如果以上都没有问题,需要查看一下<strong>application.properties</strong> 中的 <strong>server.context-path 和				    			  server.port 配置</strong>是否正确</p>
 <hr>
 <h2>Q: 流程定义手动启动或调度启动之后,没有流程实例生成</h2>
 <p>A: 1,首先通过<strong>jps 查看MasterServer服务是否存在</strong>,或者从服务监控直接查看zk中是否存在master服务</p>
-<p>​	2,如果存在master服务,查看 <strong>命令状态统计</strong> 或者 <strong>t_ds_error_command</strong> 中是否增加的新记录,如果增加了,<strong>请查看 message 字段定位启动异常原因</strong></p>
+<p>​	   2,如果存在master服务,查看 <strong>命令状态统计</strong> 或者 <strong>t_ds_error_command</strong> 中是否增加的新记录,如果增加了,<strong>请查看 message 字段定位启动异常原因</strong></p>
 <hr>
 <h2>Q : 任务状态一直处于提交成功状态</h2>
 <p>A: 1,首先通过<strong>jps 查看WorkerServer服务是否存在</strong>,或者从服务监控直接查看zk中是否存在worker服务</p>
 <p>​       2,如果 <strong>WorkerServer</strong> 服务正常,需要 <strong>查看MasterServer是否把task任务放到zk队列中</strong> ,<strong>需要查看MasterServer日志及zk队列中是否有任务阻塞</strong></p>
-<p>​	3,如果以上都没有问题,需要定位是否指定了Worker分组,但是 <strong>Worker分组的机器不是在线状态</strong></p>
+<p>​	   3,如果以上都没有问题,需要定位是否指定了Worker分组,但是 <strong>Worker分组的机器不是在线状态</strong></p>
 <hr>
 <h2>Q : <a href="http://install.sh">install.sh</a> 中需要注意问题</h2>
 <p>A:  1,如果替换变量中包含特殊字符,<strong>请用 \ 转移符进行转移</strong></p>
-<p>​	2,installPath=&quot;/data1_1T/dolphinscheduler&quot;,<strong>这个目录不能和当前要一键安装的install.sh目录是一样的</strong></p>
-<p>​	3,deployUser=&quot;dolphinscheduler&quot;,<strong>部署用户必须具有sudo权限</strong>,因为worker是通过sudo -u 租户 sh xxx.command进行执行的</p>
-<p>​	4,monitorServerState=&quot;false&quot;,服务监控脚本是否启动,默认是不启动服务监控脚本的。<strong>如果启动服务监控脚本,则每5分钟定时来监控master和worker的服务是否down机,如果down机则会自动重启</strong></p>
-<p>​	5,hdfsStartupSate=&quot;false&quot;,是否开启HDFS资源上传功能。默认是不开启的,<strong>如果不开启则资源中心是不能使用的</strong>。如果开启,需要conf/common/hadoop/hadoop.properties中配置fs.defaultFS和yarn的相关配置,如果使用namenode HA,需要将core-site.xml和hdfs-site.xml复制到conf根目录下</p>
+<p>​	    2,installPath=&quot;/data1_1T/dolphinscheduler&quot;,<strong>这个目录不能和当前要一键安装的install.sh目录是一样的</strong></p>
+<p>​	    3,deployUser=&quot;dolphinscheduler&quot;,<strong>部署用户必须具有sudo权限</strong>,因为worker是通过sudo -u 租户 sh xxx.command进行执行的</p>
+<p>​	   4,monitorServerState=&quot;false&quot;,服务监控脚本是否启动,默认是不启动服务监控脚本的。<strong>如果启动服务监控脚本,则每5分钟定时来监控master和worker的服务是否down机,如果down机则会自动重启</strong></p>
+<p>​		5,hdfsStartupSate=&quot;false&quot;,是否开启HDFS资源上传功能。默认是不开启的,<strong>如果不开启则资源中心是不能使用的</strong>。如果开启,需要conf/common/hadoop/hadoop.properties中配置fs.defaultFS和yarn的相关配置,如果使用namenode HA,需要将core-site.xml和hdfs-site.xml复制到conf根目录下</p>
 <p>​	注意:<strong>1.0.x版本是不会自动创建hdfs根目录的,需要自行创建,并且需要部署用户有hdfs的操作权限</strong></p>
 <hr>
 <h2>Q : 流程定义和流程实例下线异常</h2>
@@ -126,7 +126,7 @@
 <h2>Q :  多Master和多Worker状态下,服务掉了,怎么容错</h2>
 <p>A:  <strong>注意:Master监控Master及Worker服务。</strong></p>
 <p>​	1,如果Master服务掉了,其它的Master会接管挂掉的Master的流程,继续监控Worker task状态</p>
-<p>​	2,如果Worker服务掉,Master会监控到Worker服务掉了,如果存在Yarn任务,Kill Yarn任务之后走重试</p>
+<p>​	2,如果Worker服务掉了,Master会监控到Worker服务掉了,如果存在Yarn任务,Kill Yarn任务之后走重试</p>
 <p>具体请看容错设计:<a href="https://analysys.github.io/easyscheduler_docs_cn/%E7%B3%BB%E7%BB%9F%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1.html#%E7%B3%BB%E7%BB%9F%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1">https://analysys.github.io/easyscheduler_docs_cn/系统架构设计.html#系统架构设计</a></p>
 <hr>
 <h2>Q : 对于Master和Worker一台机器伪分布式下的容错</h2>
@@ -137,28 +137,28 @@
 <h2>Q: 定时有有效时间范围吗</h2>
 <p>A:有的,<strong>如果定时的起止时间是同一个时间,那么此定时将是无效的定时</strong>。<strong>如果起止时间的结束时间比当前的时间小,很有可能定时会被自动删除</strong></p>
 <h2>Q : 任务依赖有几种实现</h2>
-<p>A:	1,<strong>DAG</strong> 之间的任务依赖关系,是从 <strong>入度为零</strong> 进行DAG切分的</p>
-<p>​	2,有 <strong>任务依赖节点</strong> ,可以实现跨流程的任务或者流程依赖,具体请参考 依赖(DEPENDENT)节点:<a href="https://analysys.github.io/easyscheduler_docs_cn/%E7%B3%BB%E7%BB%9F%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C.html#%E4%BB%BB%E5%8A%A1%E8%8A%82%E7%82%B9%E7%B1%BB%E5%9E%8B%E5%92%8C%E5%8F%82%E6%95%B0%E8%AE%BE%E7%BD%AE">https://analysys.github.io/easyscheduler_docs_cn/系统使用手册.html#任务节点类型和参数设置</a></p>
+<p>A:  1,<strong>DAG</strong> 之间的任务依赖关系,是从 <strong>入度为零</strong> 进行DAG切分的</p>
+<p>​	    2,有 <strong>任务依赖节点</strong> ,可以实现跨流程的任务或者流程依赖,具体请参考 依赖(DEPENDENT)节点:<a href="https://analysys.github.io/easyscheduler_docs_cn/%E7%B3%BB%E7%BB%9F%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C.html#%E4%BB%BB%E5%8A%A1%E8%8A%82%E7%82%B9%E7%B1%BB%E5%9E%8B%E5%92%8C%E5%8F%82%E6%95%B0%E8%AE%BE%E7%BD%AE">https://analysys.github.io/easyscheduler_docs_cn/系统使用手册.html#任务节点类型和参数设置</a></p>
 <p>​	注意:<strong>不支持跨项目的流程或任务依赖</strong></p>
 <h2>Q: 流程定义有几种启动方式</h2>
 <p>A: 1,在 <strong>流程定义列表</strong>,点击 <strong>启动</strong> 按钮</p>
-<p>​	2,<strong>流程定义列表添加定时器</strong>,调度启动流程定义</p>
-<p>​	3,流程定义 <strong>查看或编辑</strong> DAG 页面,任意 <strong>任务节点右击</strong> 启动流程定义</p>
-<p>​	4,可以对流程定义 DAG 编辑,设置某些任务的运行标志位 <strong>禁止运行</strong>,则在启动流程定义的时候,将该节点的连线将从DAG中去掉</p>
+<p>​		2,<strong>流程定义列表添加定时器</strong>,调度启动流程定义</p>
+<p>​		3,流程定义 <strong>查看或编辑</strong> DAG 页面,任意 <strong>任务节点右击</strong> 启动流程定义</p>
+<p>​		4,可以对流程定义 DAG 编辑,设置某些任务的运行标志位 <strong>禁止运行</strong>,则在启动流程定义的时候,将该节点的连线将从DAG中去掉</p>
 <h2>Q : Python任务设置Python版本</h2>
-<p>A:  1,对于1**.0.3之后的版本**只需要修改 conf/env/.dolphinscheduler_env.sh中的PYTHON_HOME</p>
+<p>A:  1,对于<strong>1.0.3之后的版本</strong>只需要修改 conf/env/.dolphinscheduler_env.sh中的PYTHON_HOME</p>
 <pre><code>export PYTHON_HOME=/bin/python
 </code></pre>
 <p>注意:这了 <strong>PYTHON_HOME</strong> ,是python命令的绝对路径,而不是单纯的 PYTHON_HOME,还需要注意的是 export PATH 的时候,需要直接</p>
 <pre><code>export PATH=$HADOOP_HOME/bin:$SPARK_HOME1/bin:$SPARK_HOME2/bin:$PYTHON_HOME:$JAVA_HOME/bin:$HIVE_HOME/bin:$PATH
 </code></pre>
-<p>​	2,对 1.0.3 之前的版本,Python任务只能支持系统的Python版本,不支持指定Python版本</p>
+<p>​		2,对 1.0.3 之前的版本,Python任务只能支持系统的Python版本,不支持指定Python版本</p>
 <h2>Q: Worker Task 通过sudo -u 租户 sh xxx.command会产生子进程,在kill的时候,是否会杀掉</h2>
 <p>A: 我们会在1.0.4中增加kill任务同时,kill掉任务产生的各种所有子进程</p>
 <h2>Q : DolphinScheduler中的队列怎么用,用户队列和租户队列是什么意思</h2>
 <p>A : DolphinScheduler 中的队列可以在用户或者租户上指定队列,<strong>用户指定的队列优先级是高于租户队列的优先级的。</strong>,例如:对MR任务指定队列,是通过 mapreduce.job.queuename 来指定队列的。</p>
 <p>注意:MR在用以上方法指定队列的时候,传递参数请使用如下方式:</p>
-<pre><code>	Configuration conf = new Configuration();
+<pre><code>				Configuration conf = new Configuration();
         GenericOptionsParser optionParser = new GenericOptionsParser(conf, args);
         String[] remainingArgs = optionParser.getRemainingArgs();
 </code></pre>
diff --git a/zh-cn/docs/faq.json b/zh-cn/docs/faq.json
index 339c980..9641899 100644
--- a/zh-cn/docs/faq.json
+++ b/zh-cn/docs/faq.json
@@ -1,6 +1,6 @@
 {
   "filename": "faq.md",
-  "__html": "<h2>Q:DolphinScheduler服务介绍及建议运行内存</h2>\n<p>A: DolphinScheduler由5个服务组成,MasterServer、WorkerServer、ApiServer、AlertServer、LoggerServer和UI。</p>\n<table>\n<thead>\n<tr>\n<th>服务</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>MasterServer</td>\n<td>主要负责 <strong>DAG</strong> 的切分和任务状态的监控</td>\n</tr>\n<tr>\n<td>WorkerServer/LoggerServer</td>\n<td>主要负责任务的提交、执行和任务状态的更新。LoggerServer用于Rest Api通过 <strong>RPC</strong> 查看日志</td>\n</tr>\n<tr>\n<td>ApiServer</td>\n<td>提供Rest Api服务,供UI进行 [...]
+  "__html": "<h2>Q:DolphinScheduler服务介绍及建议运行内存</h2>\n<p>A: DolphinScheduler由5个服务组成,MasterServer、WorkerServer、ApiServer、AlertServer、LoggerServer和UI。</p>\n<table>\n<thead>\n<tr>\n<th>服务</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>MasterServer</td>\n<td>主要负责 <strong>DAG</strong> 的切分和任务状态的监控</td>\n</tr>\n<tr>\n<td>WorkerServer/LoggerServer</td>\n<td>主要负责任务的提交、执行和任务状态的更新。LoggerServer用于Rest Api通过 <strong>RPC</strong> 查看日志</td>\n</tr>\n<tr>\n<td>ApiServer</td>\n<td>提供Rest Api服务,供UI进行 [...]
   "link": "/zh-cn/docs/faq.html",
   "meta": {}
 }
\ No newline at end of file