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 2022/04/01 14:38:34 UTC

[dolphinscheduler-website] branch asf-site updated: Automated deployment: 4b5c6a259ba4395fae7ce3f575dae92d6ef8a117

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/dolphinscheduler-website.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 0f0bbdb  Automated deployment: 4b5c6a259ba4395fae7ce3f575dae92d6ef8a117
0f0bbdb is described below

commit 0f0bbdb449c85befc3524f59dfd0a56b3c9c8a67
Author: github-actions[bot] <gi...@users.noreply.github.com>
AuthorDate: Fri Apr 1 14:38:28 2022 +0000

    Automated deployment: 4b5c6a259ba4395fae7ce3f575dae92d6ef8a117
---
 en-us/docs/2.0.5/user_doc/guide/task/python.html  |  49 +++++++++++++++------
 en-us/docs/2.0.5/user_doc/guide/task/python.json  |   2 +-
 en-us/docs/dev/user_doc/guide/task/python.html    |  45 ++++++++++++++-----
 en-us/docs/dev/user_doc/guide/task/python.json    |   2 +-
 en-us/docs/latest/user_doc/guide/task/python.html |  49 +++++++++++++++------
 en-us/docs/latest/user_doc/guide/task/python.json |   2 +-
 img/tasks/demo/python.jpg                         | Bin 0 -> 235373 bytes
 img/tasks/demo/python_custom_param.jpg            | Bin 0 -> 230867 bytes
 img/tasks/demo/python_custom_param_ui_next.jpg    | Bin 0 -> 396899 bytes
 img/tasks/demo/python_ui_next.jpg                 | Bin 0 -> 450888 bytes
 img/tasks/icons/python.png                        | Bin 0 -> 34066 bytes
 zh-cn/docs/2.0.5/user_doc/guide/task/python.html  |  50 ++++++++++++++++------
 zh-cn/docs/2.0.5/user_doc/guide/task/python.json  |   2 +-
 zh-cn/docs/dev/user_doc/guide/task/python.html    |  50 ++++++++++++++++------
 zh-cn/docs/dev/user_doc/guide/task/python.json    |   2 +-
 zh-cn/docs/latest/user_doc/guide/task/python.html |  50 ++++++++++++++++------
 zh-cn/docs/latest/user_doc/guide/task/python.json |   2 +-
 17 files changed, 223 insertions(+), 82 deletions(-)

diff --git a/en-us/docs/2.0.5/user_doc/guide/task/python.html b/en-us/docs/2.0.5/user_doc/guide/task/python.html
index 52a8848..c6e0248 100644
--- a/en-us/docs/2.0.5/user_doc/guide/task/python.html
+++ b/en-us/docs/2.0.5/user_doc/guide/task/python.html
@@ -10,23 +10,46 @@
   <link rel="stylesheet" href="/build/vendor.23870e5.css">
 </head>
 <body>
-  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-dark"><div class="header-body"><span class="mobile-menu-btn mobile-menu-btn-dark"></span><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_white.svg"/></a><div class="search search-dark"><span class="icon-search"></span></div><span class="language-switch language-switch-dark">中</span><div class="header-menu"><div><ul class="ant-menu whiteClass ant-menu-light ant- [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-dark"><div class="header-body"><span class="mobile-menu-btn mobile-menu-btn-dark"></span><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_white.svg"/></a><div class="search search-dark"><span class="icon-search"></span></div><span class="language-switch language-switch-dark">中</span><div class="header-menu"><div><ul class="ant-menu whiteClass ant-menu-light ant- [...]
+<h2>Overview</h2>
+<p>Use <code>Python Task</code> to create a python-type task and execute python scripts. When the worker executes <code>Python Task</code>,
+it will generate a temporary python script, and executes the script by the Linux user with the same name as the tenant.</p>
+<h2>Create Task</h2>
 <ul>
-<li>Using python nodes, you can directly execute python scripts. For python nodes, workers will use <code>python **</code> to submit tasks.</li>
+<li>Click Project Management-Project Name-Workflow Definition, and click the &quot;Create Workflow&quot; button to enter the DAG editing page.</li>
+<li>Drag <img src="/img/tasks/icons/python.png" width="15"/> from the toolbar to the canvas.</li>
 </ul>
-<blockquote>
-<p>Drag in the toolbar<img src="https://analysys.github.io/easyscheduler_docs_cn/images/toolbar_PYTHON.png" alt="PNG">The task node to the drawing board, as shown in the following figure:</p>
-</blockquote>
-<p align="center">
-   <img src="/img/python-en.png" width="80%" />
- </p>
+<h2>Task Parameter</h2>
 <ul>
-<li>Script: Python program developed by the user</li>
-<li>Environment Name: Specific which Python interpreter would be use and run <code>Script</code>. If you want to use Python virtualenv, you should create multiply environments for each virtualenv.</li>
-<li>Resources: refers to the list of resource files that need to be called in the script</li>
-<li>User-defined parameter: It is a local user-defined parameter of Python, which will replace the content with ${variable} in the script</li>
-<li>Note: If you import the python file under the resource directory tree, you need to add the <code>__init__.py</code> file</li>
+<li>Node name: The node name in a workflow definition is unique.</li>
+<li>Run flag: Identifies whether this node can be scheduled normally, if it does not need to be executed, you can turn on the prohibition switch.</li>
+<li>Descriptive information: Describe the function of the node.</li>
+<li>Task priority: When the number of worker threads is insufficient, execute in the order of priority from high to low, and tasks with the same priority will execute in a first-in first-out order.</li>
+<li>Worker grouping: Assign tasks to the machines of the worker group to execute. If <code>Default</code> is selected, randomly select a worker machine for execution.</li>
+<li>Environment Name: Configure the environment name in which to run the script.</li>
+<li>Number of failed retry attempts: The failure task resubmitting times. It supports drop-down and hand-filling.</li>
+<li>Failed retry interval: The time interval for resubmitting the task after a failed task. It supports drop-down and hand-filling.</li>
+<li>Timeout alarm: Check the timeout alarm and timeout failure. When the task exceeds the &quot;timeout period&quot;, an alarm email will send and the task execution will fail.</li>
+<li>Script: Python program developed by the user.</li>
+<li>Resource: Refers to the list of resource files that need to be called in the script, and the files uploaded or created by the resource center-file management.</li>
+<li>Custom parameters: It is the user-defined parameters of Python, which will replace the content with ${variable} in the script.</li>
 </ul>
+<h2>Task Example</h2>
+<h3>Simply Print</h3>
+<p>This example simulates a common task that runs by a simple command. The example is to print one line in the log file, as shown in the following figure:
+&quot;This is a demo of python task&quot;.</p>
+<p><img src="/img/tasks/demo/python.jpg" alt="demo-python-simple"></p>
+<pre><code class="language-python"><span class="hljs-built_in">print</span>(<span class="hljs-string">&quot;This is a demo of python task&quot;</span>)
+</code></pre>
+<h3>Custom Parameters</h3>
+<p>This example simulates a custom parameter task. We use parameters for reusing existing tasks as template or coping with the dynamic task. In this case,
+we declare a custom parameter named &quot;param_key&quot;, with the value &quot;param_val&quot;. Then we use echo to print the parameter &quot;${param_key}&quot; we just declared.
+After running this example, we would see &quot;param_val&quot; print in the log.</p>
+<p><img src="/img/tasks/demo/python_custom_param.jpg" alt="demo-python-custom-param"></p>
+<pre><code class="language-python"><span class="hljs-built_in">print</span>(<span class="hljs-string">&quot;${param_key}&quot;</span>)
+</code></pre>
+<h2>Notice</h2>
+<p>None</p>
 </div></section><footer class="footer-container"><div class="footer-body"><div><h3>About us</h3><h4>Do you need feedback? Please contact us through the following ways.</h4></div><div class="contact-container"><ul><li><a href="/en-us/community/development/subscribe.html"><img class="img-base" src="/img/emailgray.png"/><img class="img-change" src="/img/emailblue.png"/><p>Email List</p></a></li><li><a href="https://twitter.com/dolphinschedule"><img class="img-base" src="/img/twittergray.png [...]
   <script src="//cdn.jsdelivr.net/npm/react@15.6.2/dist/react-with-addons.min.js"></script>
   <script src="//cdn.jsdelivr.net/npm/react-dom@15.6.2/dist/react-dom.min.js"></script>
diff --git a/en-us/docs/2.0.5/user_doc/guide/task/python.json b/en-us/docs/2.0.5/user_doc/guide/task/python.json
index 7d16aa6..3101181 100644
--- a/en-us/docs/2.0.5/user_doc/guide/task/python.json
+++ b/en-us/docs/2.0.5/user_doc/guide/task/python.json
@@ -1,6 +1,6 @@
 {
   "filename": "python.md",
-  "__html": "<h1>Python</h1>\n<ul>\n<li>Using python nodes, you can directly execute python scripts. For python nodes, workers will use <code>python **</code> to submit tasks.</li>\n</ul>\n<blockquote>\n<p>Drag in the toolbar<img src=\"https://analysys.github.io/easyscheduler_docs_cn/images/toolbar_PYTHON.png\" alt=\"PNG\">The task node to the drawing board, as shown in the following figure:</p>\n</blockquote>\n<p align=\"center\">\n   <img src=\"/img/python-en.png\" width=\"80%\" />\n < [...]
+  "__html": "<h1>Python Node</h1>\n<h2>Overview</h2>\n<p>Use <code>Python Task</code> to create a python-type task and execute python scripts. When the worker executes <code>Python Task</code>,\nit will generate a temporary python script, and executes the script by the Linux user with the same name as the tenant.</p>\n<h2>Create Task</h2>\n<ul>\n<li>Click Project Management-Project Name-Workflow Definition, and click the &quot;Create Workflow&quot; button to enter the DAG editing page.</ [...]
   "link": "/dist/en-us/docs/2.0.5/user_doc/guide/task/python.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/dev/user_doc/guide/task/python.html b/en-us/docs/dev/user_doc/guide/task/python.html
index 5dfa961..e49ad47 100644
--- a/en-us/docs/dev/user_doc/guide/task/python.html
+++ b/en-us/docs/dev/user_doc/guide/task/python.html
@@ -11,22 +11,45 @@
 </head>
 <body>
   <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-dark"><div class="header-body"><span class="mobile-menu-btn mobile-menu-btn-dark"></span><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_white.svg"/></a><div class="search search-dark"><span class="icon-search"></span></div><span class="language-switch language-switch-dark">中</span><div class="header-menu"><div><ul class="ant-menu whiteClass ant-menu-light ant- [...]
+<h2>Overview</h2>
+<p>Use <code>Python Task</code> to create a python-type task and execute python scripts. When the worker executes <code>Python Task</code>,
+it will generate a temporary python script, and executes the script by the Linux user with the same name as the tenant.</p>
+<h2>Create Task</h2>
 <ul>
-<li>Using python nodes, you can directly execute python scripts. For python nodes, workers use <code>python **</code> to submit tasks.</li>
+<li>Click Project Management-Project Name-Workflow Definition, and click the &quot;Create Workflow&quot; button to enter the DAG editing page.</li>
+<li>Drag <img src="/img/tasks/icons/python.png" width="15"/> from the toolbar to the canvas.</li>
 </ul>
-<blockquote>
-<p>Drag from the toolbar <img src="https://analysys.github.io/easyscheduler_docs_cn/images/toolbar_PYTHON.png" alt="PNG"> task node to the canvas, as shown in the following figure:</p>
-</blockquote>
-<p align="center">
-   <img src="/img/python-en.png" width="80%" />
- </p>
+<h2>Task Parameter</h2>
 <ul>
+<li>Node name: The node name in a workflow definition is unique.</li>
+<li>Run flag: Identifies whether this node can be scheduled normally, if it does not need to be executed, you can turn on the prohibition switch.</li>
+<li>Descriptive information: Describe the function of the node.</li>
+<li>Task priority: When the number of worker threads is insufficient, execute in the order of priority from high to low, and tasks with the same priority will execute in a first-in first-out order.</li>
+<li>Worker grouping: Assign tasks to the machines of the worker group to execute. If <code>Default</code> is selected, randomly select a worker machine for execution.</li>
+<li>Environment Name: Configure the environment name in which to run the script.</li>
+<li>Number of failed retry attempts: The failure task resubmitting times. It supports drop-down and hand-filling.</li>
+<li>Failed retry interval: The time interval for resubmitting the task after a failed task. It supports drop-down and hand-filling.</li>
+<li>Timeout alarm: Check the timeout alarm and timeout failure. When the task exceeds the &quot;timeout period&quot;, an alarm email will send and the task execution will fail.</li>
 <li>Script: Python program developed by the user.</li>
-<li>Environment Name: Specific Python interpreter path for running the script. If you need to use Python <strong>virtualenv</strong>, you should create multiply environments for each <strong>virtualenv</strong>.</li>
-<li>Resources: Refers to the list of resource files that need to be called in the script.</li>
-<li>User-defined parameter: It is a user-defined local parameter of Python, and will replace the content with <code>${variable}</code> in the script.</li>
-<li>Note: If you import the python file under the resource directory tree, you need to add the <code>__init__.py</code> file.</li>
+<li>Resource: Refers to the list of resource files that need to be called in the script, and the files uploaded or created by the resource center-file management.</li>
+<li>Custom parameters: It is the user-defined parameters of Python, which will replace the content with ${variable} in the script.</li>
 </ul>
+<h2>Task Example</h2>
+<h3>Simply Print</h3>
+<p>This example simulates a common task that runs by a simple command. The example is to print one line in the log file, as shown in the following figure:
+&quot;This is a demo of python task&quot;.</p>
+<p><img src="/img/tasks/demo/python_ui_next.jpg" alt="demo-python-simple"></p>
+<pre><code class="language-python"><span class="hljs-built_in">print</span>(<span class="hljs-string">&quot;This is a demo of python task&quot;</span>)
+</code></pre>
+<h3>Custom Parameters</h3>
+<p>This example simulates a custom parameter task. We use parameters for reusing existing tasks as template or coping with the dynamic task. In this case,
+we declare a custom parameter named &quot;param_key&quot;, with the value &quot;param_val&quot;. Then we use echo to print the parameter &quot;${param_key}&quot; we just declared.
+After running this example, we would see &quot;param_val&quot; print in the log.</p>
+<p><img src="/img/tasks/demo/python_custom_param_ui_next.jpg" alt="demo-python-custom-param"></p>
+<pre><code class="language-python"><span class="hljs-built_in">print</span>(<span class="hljs-string">&quot;${param_key}&quot;</span>)
+</code></pre>
+<h2>Notice</h2>
+<p>None</p>
 </div></section><footer class="footer-container"><div class="footer-body"><div><h3>About us</h3><h4>Do you need feedback? Please contact us through the following ways.</h4></div><div class="contact-container"><ul><li><a href="/en-us/community/development/subscribe.html"><img class="img-base" src="/img/emailgray.png"/><img class="img-change" src="/img/emailblue.png"/><p>Email List</p></a></li><li><a href="https://twitter.com/dolphinschedule"><img class="img-base" src="/img/twittergray.png [...]
   <script src="//cdn.jsdelivr.net/npm/react@15.6.2/dist/react-with-addons.min.js"></script>
   <script src="//cdn.jsdelivr.net/npm/react-dom@15.6.2/dist/react-dom.min.js"></script>
diff --git a/en-us/docs/dev/user_doc/guide/task/python.json b/en-us/docs/dev/user_doc/guide/task/python.json
index 7c04543..4db59a7 100644
--- a/en-us/docs/dev/user_doc/guide/task/python.json
+++ b/en-us/docs/dev/user_doc/guide/task/python.json
@@ -1,6 +1,6 @@
 {
   "filename": "python.md",
-  "__html": "<h1>Python Node</h1>\n<ul>\n<li>Using python nodes, you can directly execute python scripts. For python nodes, workers use <code>python **</code> to submit tasks.</li>\n</ul>\n<blockquote>\n<p>Drag from the toolbar <img src=\"https://analysys.github.io/easyscheduler_docs_cn/images/toolbar_PYTHON.png\" alt=\"PNG\"> task node to the canvas, as shown in the following figure:</p>\n</blockquote>\n<p align=\"center\">\n   <img src=\"/img/python-en.png\" width=\"80%\" />\n </p>\n<u [...]
+  "__html": "<h1>Python Node</h1>\n<h2>Overview</h2>\n<p>Use <code>Python Task</code> to create a python-type task and execute python scripts. When the worker executes <code>Python Task</code>,\nit will generate a temporary python script, and executes the script by the Linux user with the same name as the tenant.</p>\n<h2>Create Task</h2>\n<ul>\n<li>Click Project Management-Project Name-Workflow Definition, and click the &quot;Create Workflow&quot; button to enter the DAG editing page.</ [...]
   "link": "/dist/en-us/docs/dev/user_doc/guide/task/python.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/en-us/docs/latest/user_doc/guide/task/python.html b/en-us/docs/latest/user_doc/guide/task/python.html
index 52a8848..c6e0248 100644
--- a/en-us/docs/latest/user_doc/guide/task/python.html
+++ b/en-us/docs/latest/user_doc/guide/task/python.html
@@ -10,23 +10,46 @@
   <link rel="stylesheet" href="/build/vendor.23870e5.css">
 </head>
 <body>
-  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-dark"><div class="header-body"><span class="mobile-menu-btn mobile-menu-btn-dark"></span><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_white.svg"/></a><div class="search search-dark"><span class="icon-search"></span></div><span class="language-switch language-switch-dark">中</span><div class="header-menu"><div><ul class="ant-menu whiteClass ant-menu-light ant- [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-dark"><div class="header-body"><span class="mobile-menu-btn mobile-menu-btn-dark"></span><a href="/en-us/index.html"><img class="logo" src="/img/hlogo_white.svg"/></a><div class="search search-dark"><span class="icon-search"></span></div><span class="language-switch language-switch-dark">中</span><div class="header-menu"><div><ul class="ant-menu whiteClass ant-menu-light ant- [...]
+<h2>Overview</h2>
+<p>Use <code>Python Task</code> to create a python-type task and execute python scripts. When the worker executes <code>Python Task</code>,
+it will generate a temporary python script, and executes the script by the Linux user with the same name as the tenant.</p>
+<h2>Create Task</h2>
 <ul>
-<li>Using python nodes, you can directly execute python scripts. For python nodes, workers will use <code>python **</code> to submit tasks.</li>
+<li>Click Project Management-Project Name-Workflow Definition, and click the &quot;Create Workflow&quot; button to enter the DAG editing page.</li>
+<li>Drag <img src="/img/tasks/icons/python.png" width="15"/> from the toolbar to the canvas.</li>
 </ul>
-<blockquote>
-<p>Drag in the toolbar<img src="https://analysys.github.io/easyscheduler_docs_cn/images/toolbar_PYTHON.png" alt="PNG">The task node to the drawing board, as shown in the following figure:</p>
-</blockquote>
-<p align="center">
-   <img src="/img/python-en.png" width="80%" />
- </p>
+<h2>Task Parameter</h2>
 <ul>
-<li>Script: Python program developed by the user</li>
-<li>Environment Name: Specific which Python interpreter would be use and run <code>Script</code>. If you want to use Python virtualenv, you should create multiply environments for each virtualenv.</li>
-<li>Resources: refers to the list of resource files that need to be called in the script</li>
-<li>User-defined parameter: It is a local user-defined parameter of Python, which will replace the content with ${variable} in the script</li>
-<li>Note: If you import the python file under the resource directory tree, you need to add the <code>__init__.py</code> file</li>
+<li>Node name: The node name in a workflow definition is unique.</li>
+<li>Run flag: Identifies whether this node can be scheduled normally, if it does not need to be executed, you can turn on the prohibition switch.</li>
+<li>Descriptive information: Describe the function of the node.</li>
+<li>Task priority: When the number of worker threads is insufficient, execute in the order of priority from high to low, and tasks with the same priority will execute in a first-in first-out order.</li>
+<li>Worker grouping: Assign tasks to the machines of the worker group to execute. If <code>Default</code> is selected, randomly select a worker machine for execution.</li>
+<li>Environment Name: Configure the environment name in which to run the script.</li>
+<li>Number of failed retry attempts: The failure task resubmitting times. It supports drop-down and hand-filling.</li>
+<li>Failed retry interval: The time interval for resubmitting the task after a failed task. It supports drop-down and hand-filling.</li>
+<li>Timeout alarm: Check the timeout alarm and timeout failure. When the task exceeds the &quot;timeout period&quot;, an alarm email will send and the task execution will fail.</li>
+<li>Script: Python program developed by the user.</li>
+<li>Resource: Refers to the list of resource files that need to be called in the script, and the files uploaded or created by the resource center-file management.</li>
+<li>Custom parameters: It is the user-defined parameters of Python, which will replace the content with ${variable} in the script.</li>
 </ul>
+<h2>Task Example</h2>
+<h3>Simply Print</h3>
+<p>This example simulates a common task that runs by a simple command. The example is to print one line in the log file, as shown in the following figure:
+&quot;This is a demo of python task&quot;.</p>
+<p><img src="/img/tasks/demo/python.jpg" alt="demo-python-simple"></p>
+<pre><code class="language-python"><span class="hljs-built_in">print</span>(<span class="hljs-string">&quot;This is a demo of python task&quot;</span>)
+</code></pre>
+<h3>Custom Parameters</h3>
+<p>This example simulates a custom parameter task. We use parameters for reusing existing tasks as template or coping with the dynamic task. In this case,
+we declare a custom parameter named &quot;param_key&quot;, with the value &quot;param_val&quot;. Then we use echo to print the parameter &quot;${param_key}&quot; we just declared.
+After running this example, we would see &quot;param_val&quot; print in the log.</p>
+<p><img src="/img/tasks/demo/python_custom_param.jpg" alt="demo-python-custom-param"></p>
+<pre><code class="language-python"><span class="hljs-built_in">print</span>(<span class="hljs-string">&quot;${param_key}&quot;</span>)
+</code></pre>
+<h2>Notice</h2>
+<p>None</p>
 </div></section><footer class="footer-container"><div class="footer-body"><div><h3>About us</h3><h4>Do you need feedback? Please contact us through the following ways.</h4></div><div class="contact-container"><ul><li><a href="/en-us/community/development/subscribe.html"><img class="img-base" src="/img/emailgray.png"/><img class="img-change" src="/img/emailblue.png"/><p>Email List</p></a></li><li><a href="https://twitter.com/dolphinschedule"><img class="img-base" src="/img/twittergray.png [...]
   <script src="//cdn.jsdelivr.net/npm/react@15.6.2/dist/react-with-addons.min.js"></script>
   <script src="//cdn.jsdelivr.net/npm/react-dom@15.6.2/dist/react-dom.min.js"></script>
diff --git a/en-us/docs/latest/user_doc/guide/task/python.json b/en-us/docs/latest/user_doc/guide/task/python.json
index 7d16aa6..3101181 100644
--- a/en-us/docs/latest/user_doc/guide/task/python.json
+++ b/en-us/docs/latest/user_doc/guide/task/python.json
@@ -1,6 +1,6 @@
 {
   "filename": "python.md",
-  "__html": "<h1>Python</h1>\n<ul>\n<li>Using python nodes, you can directly execute python scripts. For python nodes, workers will use <code>python **</code> to submit tasks.</li>\n</ul>\n<blockquote>\n<p>Drag in the toolbar<img src=\"https://analysys.github.io/easyscheduler_docs_cn/images/toolbar_PYTHON.png\" alt=\"PNG\">The task node to the drawing board, as shown in the following figure:</p>\n</blockquote>\n<p align=\"center\">\n   <img src=\"/img/python-en.png\" width=\"80%\" />\n < [...]
+  "__html": "<h1>Python Node</h1>\n<h2>Overview</h2>\n<p>Use <code>Python Task</code> to create a python-type task and execute python scripts. When the worker executes <code>Python Task</code>,\nit will generate a temporary python script, and executes the script by the Linux user with the same name as the tenant.</p>\n<h2>Create Task</h2>\n<ul>\n<li>Click Project Management-Project Name-Workflow Definition, and click the &quot;Create Workflow&quot; button to enter the DAG editing page.</ [...]
   "link": "/dist/en-us/docs/2.0.5/user_doc/guide/task/python.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/img/tasks/demo/python.jpg b/img/tasks/demo/python.jpg
new file mode 100644
index 0000000..3de8651
Binary files /dev/null and b/img/tasks/demo/python.jpg differ
diff --git a/img/tasks/demo/python_custom_param.jpg b/img/tasks/demo/python_custom_param.jpg
new file mode 100644
index 0000000..399ee03
Binary files /dev/null and b/img/tasks/demo/python_custom_param.jpg differ
diff --git a/img/tasks/demo/python_custom_param_ui_next.jpg b/img/tasks/demo/python_custom_param_ui_next.jpg
new file mode 100644
index 0000000..de041f0
Binary files /dev/null and b/img/tasks/demo/python_custom_param_ui_next.jpg differ
diff --git a/img/tasks/demo/python_ui_next.jpg b/img/tasks/demo/python_ui_next.jpg
new file mode 100644
index 0000000..bff7135
Binary files /dev/null and b/img/tasks/demo/python_ui_next.jpg differ
diff --git a/img/tasks/icons/python.png b/img/tasks/icons/python.png
new file mode 100644
index 0000000..9775b28
Binary files /dev/null and b/img/tasks/icons/python.png differ
diff --git a/zh-cn/docs/2.0.5/user_doc/guide/task/python.html b/zh-cn/docs/2.0.5/user_doc/guide/task/python.html
index 7d6761b..b9e43c4 100644
--- a/zh-cn/docs/2.0.5/user_doc/guide/task/python.html
+++ b/zh-cn/docs/2.0.5/user_doc/guide/task/python.html
@@ -10,23 +10,47 @@
   <link rel="stylesheet" href="/build/vendor.23870e5.css">
 </head>
 <body>
-  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-dark"><div class="header-body"><span class="mobile-menu-btn mobile-menu-btn-dark"></span><a href="/zh-cn/index.html"><img class="logo" src="/img/hlogo_white.svg"/></a><div class="search search-dark"><span class="icon-search"></span></div><span class="language-switch language-switch-dark">En</span><div class="header-menu"><div><ul class="ant-menu whiteClass ant-menu-light ant [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-dark"><div class="header-body"><span class="mobile-menu-btn mobile-menu-btn-dark"></span><a href="/zh-cn/index.html"><img class="logo" src="/img/hlogo_white.svg"/></a><div class="search search-dark"><span class="icon-search"></span></div><span class="language-switch language-switch-dark">En</span><div class="header-menu"><div><ul class="ant-menu whiteClass ant-menu-light ant [...]
+<h2>Overview</h2>
+<p>Python 任务类型,用于创建 Python 类型的任务并执行一系列的 Python 脚本。worker 执行该任务的时候,会生成一个临时python脚本,
+并使用与租户同名的 linux 用户执行这个脚本。</p>
+<h2>Create Task</h2>
 <ul>
-<li>使用python节点,可以直接执行python脚本,对于python节点,worker会使用<code>python **</code>方式提交任务。</li>
+<li>点击项目管理-项目名称-工作流定义,点击&quot;创建工作流&quot;按钮,进入DAG编辑页面。</li>
+<li>工具栏中拖动 <img src="/img/tasks/icons/python.png" width="15"/> 到画板中,即可完成创建。</li>
 </ul>
-<blockquote>
-<p>拖动工具栏中的<img src="https://analysys.github.io/easyscheduler_docs_cn/images/toolbar_PYTHON.png" alt="PNG">任务节点到画板中,如下图所示:</p>
-</blockquote>
-<p align="center">
-   <img src="/img/python_edit.png" width="80%" />
- </p>
+<h2>Task Parameter</h2>
 <ul>
-<li>脚本:用户开发的Python程序</li>
-<li>环境名称:执行Python程序的解释器路径,指定运行脚本的解释器。当你需要使用 Python <strong>虚拟环境</strong> 时,可以通过创建不同的环境名称来实现。</li>
-<li>资源:是指脚本中需要调用的资源文件列表</li>
-<li>自定义参数:是Python局部的用户自定义参数,会替换脚本中以${变量}的内容</li>
-<li>注意:若引入资源目录树下的python文件,需添加 <code>__init__.py</code> 文件</li>
+<li>任务名称:设置任务的名称。一个工作流定义中的节点名称是唯一的。</li>
+<li>运行标志:标识这个节点是否能正常调度,如果不需要执行,可以打开禁止执行开关。</li>
+<li>描述:描述该节点的功能。</li>
+<li>任务优先级:worker线程数不足时,根据优先级从高到低依次执行,优先级一样时根据先进先出原则执行。</li>
+<li>Worker分组:任务分配给worker组的机器机执行,选择Default,会随机选择一台worker机执行。</li>
+<li>环境名称:配置运行脚本的环境。</li>
+<li>失败重试次数:任务失败重新提交的次数,支持下拉和手填。</li>
+<li>失败重试间隔:任务失败重新提交任务的时间间隔,支持下拉和手填。</li>
+<li>超时告警:勾选超时告警、超时失败,当任务超过&quot;超时时长&quot;后,会发送告警邮件并且任务执行失败.</li>
+<li>脚本:用户开发的PYTHON程序。</li>
+<li>资源:是指脚本中需要调用的资源文件列表,资源中心-文件管理上传或创建的文件。</li>
+<li>自定义参数:是PYTHON局部的用户自定义参数,会替换脚本中以${变量}的内容。</li>
+<li>前置任务:选择当前任务的前置任务,会将被选择的前置任务设置为当前任务的上游。</li>
 </ul>
+<h2>Task Example</h2>
+<h3>Simply Print</h3>
+<p>该样例模拟了常见的简单任务,这些任务只需要简单的一两行命令就能运行起来。我们以打印一行日志为例,该任务仅会在日志文件中打印一行
+&quot;This is a demo of python task&quot;</p>
+<p><img src="/img/tasks/demo/python.jpg" alt="demo-python-simple"></p>
+<pre><code class="language-python"><span class="hljs-built_in">print</span>(<span class="hljs-string">&quot;This is a demo of python task&quot;</span>)
+</code></pre>
+<h3>Custom Parameters</h3>
+<p>该样例模拟了自定义参数任务,为了更方便的复用已有的任务,或者面对动态的需求时,我们会使用变量保证脚本的复用性。本例中,我们先在自定义脚本
+中定义了参数 &quot;param_key&quot;,并将他的值设置为 &quot;param_val&quot;。接着在&quot;脚本&quot;中使用了 print 函数,将参数 &quot;param_key&quot; 打印了出来。当我们保存
+并运行任务后,在日志中会看到将参数 &quot;param_key&quot; 对应的值 &quot;param_val&quot; 打印出来。</p>
+<p><img src="/img/tasks/demo/python_custom_param.jpg" alt="demo-python-custom-param"></p>
+<pre><code class="language-python"><span class="hljs-built_in">print</span>(<span class="hljs-string">&quot;${param_key}&quot;</span>)
+</code></pre>
+<h2>Notice</h2>
+<p>None</p>
 </div></section><footer class="footer-container"><div class="footer-body"><div><h3>联系我们</h3><h4>有问题需要反馈?请通过以下方式联系我们。</h4></div><div class="contact-container"><ul><li><a href="/zh-cn/community/development/subscribe.html"><img class="img-base" src="/img/emailgray.png"/><img class="img-change" src="/img/emailblue.png"/><p>邮件列表</p></a></li><li><a href="https://twitter.com/dolphinschedule"><img class="img-base" src="/img/twittergray.png"/><img class="img-change" src="/img/twitterblue.png"/><p [...]
   <script src="//cdn.jsdelivr.net/npm/react@15.6.2/dist/react-with-addons.min.js"></script>
   <script src="//cdn.jsdelivr.net/npm/react-dom@15.6.2/dist/react-dom.min.js"></script>
diff --git a/zh-cn/docs/2.0.5/user_doc/guide/task/python.json b/zh-cn/docs/2.0.5/user_doc/guide/task/python.json
index 5aa0c38..14b9e5f 100644
--- a/zh-cn/docs/2.0.5/user_doc/guide/task/python.json
+++ b/zh-cn/docs/2.0.5/user_doc/guide/task/python.json
@@ -1,6 +1,6 @@
 {
   "filename": "python.md",
-  "__html": "<h1>Python节点</h1>\n<ul>\n<li>使用python节点,可以直接执行python脚本,对于python节点,worker会使用<code>python **</code>方式提交任务。</li>\n</ul>\n<blockquote>\n<p>拖动工具栏中的<img src=\"https://analysys.github.io/easyscheduler_docs_cn/images/toolbar_PYTHON.png\" alt=\"PNG\">任务节点到画板中,如下图所示:</p>\n</blockquote>\n<p align=\"center\">\n   <img src=\"/img/python_edit.png\" width=\"80%\" />\n </p>\n<ul>\n<li>脚本:用户开发的Python程序</li>\n<li>环境名称:执行Python程序的解释器路径,指定运行脚本的解释器。当你需要使用 Python <strong>虚拟环境</strong> 时,可以通过创建不同的 [...]
+  "__html": "<h1>Python 节点</h1>\n<h2>Overview</h2>\n<p>Python 任务类型,用于创建 Python 类型的任务并执行一系列的 Python 脚本。worker 执行该任务的时候,会生成一个临时python脚本,\n并使用与租户同名的 linux 用户执行这个脚本。</p>\n<h2>Create Task</h2>\n<ul>\n<li>点击项目管理-项目名称-工作流定义,点击&quot;创建工作流&quot;按钮,进入DAG编辑页面。</li>\n<li>工具栏中拖动 <img src=\"/img/tasks/icons/python.png\" width=\"15\"/> 到画板中,即可完成创建。</li>\n</ul>\n<h2>Task Parameter</h2>\n<ul>\n<li>任务名称:设置任务的名称。一个工作流定义中的节点名称是唯一的。</li>\n<li>运行标志:标识这个节点是否能正常调度,如果不需要执行,可以打开禁止执行开关。</li>\n<li>描述:描述该节点的功能。</li> [...]
   "link": "/dist/zh-cn/docs/2.0.5/user_doc/guide/task/python.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/zh-cn/docs/dev/user_doc/guide/task/python.html b/zh-cn/docs/dev/user_doc/guide/task/python.html
index 2fc2d1c..34bdde8 100644
--- a/zh-cn/docs/dev/user_doc/guide/task/python.html
+++ b/zh-cn/docs/dev/user_doc/guide/task/python.html
@@ -10,23 +10,47 @@
   <link rel="stylesheet" href="/build/vendor.23870e5.css">
 </head>
 <body>
-  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-dark"><div class="header-body"><span class="mobile-menu-btn mobile-menu-btn-dark"></span><a href="/zh-cn/index.html"><img class="logo" src="/img/hlogo_white.svg"/></a><div class="search search-dark"><span class="icon-search"></span></div><span class="language-switch language-switch-dark">En</span><div class="header-menu"><div><ul class="ant-menu whiteClass ant-menu-light ant [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-dark"><div class="header-body"><span class="mobile-menu-btn mobile-menu-btn-dark"></span><a href="/zh-cn/index.html"><img class="logo" src="/img/hlogo_white.svg"/></a><div class="search search-dark"><span class="icon-search"></span></div><span class="language-switch language-switch-dark">En</span><div class="header-menu"><div><ul class="ant-menu whiteClass ant-menu-light ant [...]
+<h2>Overview</h2>
+<p>Python 任务类型,用于创建 Python 类型的任务并执行一系列的 Python 脚本。worker 执行该任务的时候,会生成一个临时python脚本,
+并使用与租户同名的 linux 用户执行这个脚本。</p>
+<h2>Create Task</h2>
 <ul>
-<li>使用python节点,可以直接执行python脚本,对于python节点,worker会使用<code>python **</code>方式提交任务。</li>
+<li>点击项目管理-项目名称-工作流定义,点击&quot;创建工作流&quot;按钮,进入DAG编辑页面。</li>
+<li>工具栏中拖动 <img src="/img/tasks/icons/python.png" width="15"/> 到画板中,即可完成创建。</li>
 </ul>
-<blockquote>
-<p>拖动工具栏中的<img src="https://analysys.github.io/easyscheduler_docs_cn/images/toolbar_PYTHON.png" alt="PNG">任务节点到画板中,如下图所示:</p>
-</blockquote>
-<p align="center">
-   <img src="/img/python_edit.png" width="80%" />
- </p>
+<h2>Task Parameter</h2>
 <ul>
-<li>脚本:用户开发的Python程序</li>
-<li>环境名称:执行Python程序的解释器路径,指定运行脚本的解释器。当你需要使用 Python <strong>虚拟环境</strong> 时,可以通过创建不同的环境名称来实现。</li>
-<li>资源:是指脚本中需要调用的资源文件列表</li>
-<li>自定义参数:是Python局部的用户自定义参数,会替换脚本中以${变量}的内容</li>
-<li>注意:若引入资源目录树下的python文件,需添加 <code>__init__.py</code> 文件</li>
+<li>任务名称:设置任务的名称。一个工作流定义中的节点名称是唯一的。</li>
+<li>运行标志:标识这个节点是否能正常调度,如果不需要执行,可以打开禁止执行开关。</li>
+<li>描述:描述该节点的功能。</li>
+<li>任务优先级:worker线程数不足时,根据优先级从高到低依次执行,优先级一样时根据先进先出原则执行。</li>
+<li>Worker分组:任务分配给worker组的机器机执行,选择Default,会随机选择一台worker机执行。</li>
+<li>环境名称:配置运行脚本的环境。</li>
+<li>失败重试次数:任务失败重新提交的次数,支持下拉和手填。</li>
+<li>失败重试间隔:任务失败重新提交任务的时间间隔,支持下拉和手填。</li>
+<li>超时告警:勾选超时告警、超时失败,当任务超过&quot;超时时长&quot;后,会发送告警邮件并且任务执行失败.</li>
+<li>脚本:用户开发的PYTHON程序。</li>
+<li>资源:是指脚本中需要调用的资源文件列表,资源中心-文件管理上传或创建的文件。</li>
+<li>自定义参数:是PYTHON局部的用户自定义参数,会替换脚本中以${变量}的内容。</li>
+<li>前置任务:选择当前任务的前置任务,会将被选择的前置任务设置为当前任务的上游。</li>
 </ul>
+<h2>Task Example</h2>
+<h3>Simply Print</h3>
+<p>该样例模拟了常见的简单任务,这些任务只需要简单的一两行命令就能运行起来。我们以打印一行日志为例,该任务仅会在日志文件中打印一行
+&quot;This is a demo of python task&quot;</p>
+<p><img src="/img/tasks/demo/python_ui_next.jpg" alt="demo-python-simple"></p>
+<pre><code class="language-python"><span class="hljs-built_in">print</span>(<span class="hljs-string">&quot;This is a demo of python task&quot;</span>)
+</code></pre>
+<h3>Custom Parameters</h3>
+<p>该样例模拟了自定义参数任务,为了更方便的复用已有的任务,或者面对动态的需求时,我们会使用变量保证脚本的复用性。本例中,我们先在自定义脚本
+中定义了参数 &quot;param_key&quot;,并将他的值设置为 &quot;param_val&quot;。接着在&quot;脚本&quot;中使用了 print 函数,将参数 &quot;param_key&quot; 打印了出来。当我们保存
+并运行任务后,在日志中会看到将参数 &quot;param_key&quot; 对应的值 &quot;param_val&quot; 打印出来。</p>
+<p><img src="/img/tasks/demo/python_custom_param_ui_next.jpg" alt="demo-python-custom-param"></p>
+<pre><code class="language-python"><span class="hljs-built_in">print</span>(<span class="hljs-string">&quot;${param_key}&quot;</span>)
+</code></pre>
+<h2>Notice</h2>
+<p>None</p>
 </div></section><footer class="footer-container"><div class="footer-body"><div><h3>联系我们</h3><h4>有问题需要反馈?请通过以下方式联系我们。</h4></div><div class="contact-container"><ul><li><a href="/zh-cn/community/development/subscribe.html"><img class="img-base" src="/img/emailgray.png"/><img class="img-change" src="/img/emailblue.png"/><p>邮件列表</p></a></li><li><a href="https://twitter.com/dolphinschedule"><img class="img-base" src="/img/twittergray.png"/><img class="img-change" src="/img/twitterblue.png"/><p [...]
   <script src="//cdn.jsdelivr.net/npm/react@15.6.2/dist/react-with-addons.min.js"></script>
   <script src="//cdn.jsdelivr.net/npm/react-dom@15.6.2/dist/react-dom.min.js"></script>
diff --git a/zh-cn/docs/dev/user_doc/guide/task/python.json b/zh-cn/docs/dev/user_doc/guide/task/python.json
index 56c4668..b162425 100644
--- a/zh-cn/docs/dev/user_doc/guide/task/python.json
+++ b/zh-cn/docs/dev/user_doc/guide/task/python.json
@@ -1,6 +1,6 @@
 {
   "filename": "python.md",
-  "__html": "<h1>Python节点</h1>\n<ul>\n<li>使用python节点,可以直接执行python脚本,对于python节点,worker会使用<code>python **</code>方式提交任务。</li>\n</ul>\n<blockquote>\n<p>拖动工具栏中的<img src=\"https://analysys.github.io/easyscheduler_docs_cn/images/toolbar_PYTHON.png\" alt=\"PNG\">任务节点到画板中,如下图所示:</p>\n</blockquote>\n<p align=\"center\">\n   <img src=\"/img/python_edit.png\" width=\"80%\" />\n </p>\n<ul>\n<li>脚本:用户开发的Python程序</li>\n<li>环境名称:执行Python程序的解释器路径,指定运行脚本的解释器。当你需要使用 Python <strong>虚拟环境</strong> 时,可以通过创建不同的 [...]
+  "__html": "<h1>Python 节点</h1>\n<h2>Overview</h2>\n<p>Python 任务类型,用于创建 Python 类型的任务并执行一系列的 Python 脚本。worker 执行该任务的时候,会生成一个临时python脚本,\n并使用与租户同名的 linux 用户执行这个脚本。</p>\n<h2>Create Task</h2>\n<ul>\n<li>点击项目管理-项目名称-工作流定义,点击&quot;创建工作流&quot;按钮,进入DAG编辑页面。</li>\n<li>工具栏中拖动 <img src=\"/img/tasks/icons/python.png\" width=\"15\"/> 到画板中,即可完成创建。</li>\n</ul>\n<h2>Task Parameter</h2>\n<ul>\n<li>任务名称:设置任务的名称。一个工作流定义中的节点名称是唯一的。</li>\n<li>运行标志:标识这个节点是否能正常调度,如果不需要执行,可以打开禁止执行开关。</li>\n<li>描述:描述该节点的功能。</li> [...]
   "link": "/dist/zh-cn/docs/dev/user_doc/guide/task/python.html",
   "meta": {}
 }
\ No newline at end of file
diff --git a/zh-cn/docs/latest/user_doc/guide/task/python.html b/zh-cn/docs/latest/user_doc/guide/task/python.html
index 7d6761b..b9e43c4 100644
--- a/zh-cn/docs/latest/user_doc/guide/task/python.html
+++ b/zh-cn/docs/latest/user_doc/guide/task/python.html
@@ -10,23 +10,47 @@
   <link rel="stylesheet" href="/build/vendor.23870e5.css">
 </head>
 <body>
-  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-dark"><div class="header-body"><span class="mobile-menu-btn mobile-menu-btn-dark"></span><a href="/zh-cn/index.html"><img class="logo" src="/img/hlogo_white.svg"/></a><div class="search search-dark"><span class="icon-search"></span></div><span class="language-switch language-switch-dark">En</span><div class="header-menu"><div><ul class="ant-menu whiteClass ant-menu-light ant [...]
+  <div id="root"><div class="md2html docs-page" data-reactroot=""><header class="header-container header-container-dark"><div class="header-body"><span class="mobile-menu-btn mobile-menu-btn-dark"></span><a href="/zh-cn/index.html"><img class="logo" src="/img/hlogo_white.svg"/></a><div class="search search-dark"><span class="icon-search"></span></div><span class="language-switch language-switch-dark">En</span><div class="header-menu"><div><ul class="ant-menu whiteClass ant-menu-light ant [...]
+<h2>Overview</h2>
+<p>Python 任务类型,用于创建 Python 类型的任务并执行一系列的 Python 脚本。worker 执行该任务的时候,会生成一个临时python脚本,
+并使用与租户同名的 linux 用户执行这个脚本。</p>
+<h2>Create Task</h2>
 <ul>
-<li>使用python节点,可以直接执行python脚本,对于python节点,worker会使用<code>python **</code>方式提交任务。</li>
+<li>点击项目管理-项目名称-工作流定义,点击&quot;创建工作流&quot;按钮,进入DAG编辑页面。</li>
+<li>工具栏中拖动 <img src="/img/tasks/icons/python.png" width="15"/> 到画板中,即可完成创建。</li>
 </ul>
-<blockquote>
-<p>拖动工具栏中的<img src="https://analysys.github.io/easyscheduler_docs_cn/images/toolbar_PYTHON.png" alt="PNG">任务节点到画板中,如下图所示:</p>
-</blockquote>
-<p align="center">
-   <img src="/img/python_edit.png" width="80%" />
- </p>
+<h2>Task Parameter</h2>
 <ul>
-<li>脚本:用户开发的Python程序</li>
-<li>环境名称:执行Python程序的解释器路径,指定运行脚本的解释器。当你需要使用 Python <strong>虚拟环境</strong> 时,可以通过创建不同的环境名称来实现。</li>
-<li>资源:是指脚本中需要调用的资源文件列表</li>
-<li>自定义参数:是Python局部的用户自定义参数,会替换脚本中以${变量}的内容</li>
-<li>注意:若引入资源目录树下的python文件,需添加 <code>__init__.py</code> 文件</li>
+<li>任务名称:设置任务的名称。一个工作流定义中的节点名称是唯一的。</li>
+<li>运行标志:标识这个节点是否能正常调度,如果不需要执行,可以打开禁止执行开关。</li>
+<li>描述:描述该节点的功能。</li>
+<li>任务优先级:worker线程数不足时,根据优先级从高到低依次执行,优先级一样时根据先进先出原则执行。</li>
+<li>Worker分组:任务分配给worker组的机器机执行,选择Default,会随机选择一台worker机执行。</li>
+<li>环境名称:配置运行脚本的环境。</li>
+<li>失败重试次数:任务失败重新提交的次数,支持下拉和手填。</li>
+<li>失败重试间隔:任务失败重新提交任务的时间间隔,支持下拉和手填。</li>
+<li>超时告警:勾选超时告警、超时失败,当任务超过&quot;超时时长&quot;后,会发送告警邮件并且任务执行失败.</li>
+<li>脚本:用户开发的PYTHON程序。</li>
+<li>资源:是指脚本中需要调用的资源文件列表,资源中心-文件管理上传或创建的文件。</li>
+<li>自定义参数:是PYTHON局部的用户自定义参数,会替换脚本中以${变量}的内容。</li>
+<li>前置任务:选择当前任务的前置任务,会将被选择的前置任务设置为当前任务的上游。</li>
 </ul>
+<h2>Task Example</h2>
+<h3>Simply Print</h3>
+<p>该样例模拟了常见的简单任务,这些任务只需要简单的一两行命令就能运行起来。我们以打印一行日志为例,该任务仅会在日志文件中打印一行
+&quot;This is a demo of python task&quot;</p>
+<p><img src="/img/tasks/demo/python.jpg" alt="demo-python-simple"></p>
+<pre><code class="language-python"><span class="hljs-built_in">print</span>(<span class="hljs-string">&quot;This is a demo of python task&quot;</span>)
+</code></pre>
+<h3>Custom Parameters</h3>
+<p>该样例模拟了自定义参数任务,为了更方便的复用已有的任务,或者面对动态的需求时,我们会使用变量保证脚本的复用性。本例中,我们先在自定义脚本
+中定义了参数 &quot;param_key&quot;,并将他的值设置为 &quot;param_val&quot;。接着在&quot;脚本&quot;中使用了 print 函数,将参数 &quot;param_key&quot; 打印了出来。当我们保存
+并运行任务后,在日志中会看到将参数 &quot;param_key&quot; 对应的值 &quot;param_val&quot; 打印出来。</p>
+<p><img src="/img/tasks/demo/python_custom_param.jpg" alt="demo-python-custom-param"></p>
+<pre><code class="language-python"><span class="hljs-built_in">print</span>(<span class="hljs-string">&quot;${param_key}&quot;</span>)
+</code></pre>
+<h2>Notice</h2>
+<p>None</p>
 </div></section><footer class="footer-container"><div class="footer-body"><div><h3>联系我们</h3><h4>有问题需要反馈?请通过以下方式联系我们。</h4></div><div class="contact-container"><ul><li><a href="/zh-cn/community/development/subscribe.html"><img class="img-base" src="/img/emailgray.png"/><img class="img-change" src="/img/emailblue.png"/><p>邮件列表</p></a></li><li><a href="https://twitter.com/dolphinschedule"><img class="img-base" src="/img/twittergray.png"/><img class="img-change" src="/img/twitterblue.png"/><p [...]
   <script src="//cdn.jsdelivr.net/npm/react@15.6.2/dist/react-with-addons.min.js"></script>
   <script src="//cdn.jsdelivr.net/npm/react-dom@15.6.2/dist/react-dom.min.js"></script>
diff --git a/zh-cn/docs/latest/user_doc/guide/task/python.json b/zh-cn/docs/latest/user_doc/guide/task/python.json
index 5aa0c38..14b9e5f 100644
--- a/zh-cn/docs/latest/user_doc/guide/task/python.json
+++ b/zh-cn/docs/latest/user_doc/guide/task/python.json
@@ -1,6 +1,6 @@
 {
   "filename": "python.md",
-  "__html": "<h1>Python节点</h1>\n<ul>\n<li>使用python节点,可以直接执行python脚本,对于python节点,worker会使用<code>python **</code>方式提交任务。</li>\n</ul>\n<blockquote>\n<p>拖动工具栏中的<img src=\"https://analysys.github.io/easyscheduler_docs_cn/images/toolbar_PYTHON.png\" alt=\"PNG\">任务节点到画板中,如下图所示:</p>\n</blockquote>\n<p align=\"center\">\n   <img src=\"/img/python_edit.png\" width=\"80%\" />\n </p>\n<ul>\n<li>脚本:用户开发的Python程序</li>\n<li>环境名称:执行Python程序的解释器路径,指定运行脚本的解释器。当你需要使用 Python <strong>虚拟环境</strong> 时,可以通过创建不同的 [...]
+  "__html": "<h1>Python 节点</h1>\n<h2>Overview</h2>\n<p>Python 任务类型,用于创建 Python 类型的任务并执行一系列的 Python 脚本。worker 执行该任务的时候,会生成一个临时python脚本,\n并使用与租户同名的 linux 用户执行这个脚本。</p>\n<h2>Create Task</h2>\n<ul>\n<li>点击项目管理-项目名称-工作流定义,点击&quot;创建工作流&quot;按钮,进入DAG编辑页面。</li>\n<li>工具栏中拖动 <img src=\"/img/tasks/icons/python.png\" width=\"15\"/> 到画板中,即可完成创建。</li>\n</ul>\n<h2>Task Parameter</h2>\n<ul>\n<li>任务名称:设置任务的名称。一个工作流定义中的节点名称是唯一的。</li>\n<li>运行标志:标识这个节点是否能正常调度,如果不需要执行,可以打开禁止执行开关。</li>\n<li>描述:描述该节点的功能。</li> [...]
   "link": "/dist/zh-cn/docs/2.0.5/user_doc/guide/task/python.html",
   "meta": {}
 }
\ No newline at end of file