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 77c26eb3d2 Automated deployment: 
ab53994053261a99e7d6aacee296c36c07254683
77c26eb3d2 is described below

commit 77c26eb3d283ad4f6cd4079f6e322320fc968d74
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
AuthorDate: Sun Jan 14 05:05:48 2024 +0000

    Automated deployment: ab53994053261a99e7d6aacee296c36c07254683
---
 python/2.0.5/.buildinfo                            |  2 +-
 python/2.0.6/.buildinfo                            |  2 +-
 python/2.0.7/.buildinfo                            |  2 +-
 python/3.0.0/.buildinfo                            |  2 +-
 python/3.0.1/.buildinfo                            |  2 +-
 python/3.1.0/.buildinfo                            |  2 +-
 python/4.0.0/.buildinfo                            |  2 +-
 python/4.0.1/.buildinfo                            |  2 +-
 python/4.0.2/.buildinfo                            |  2 +-
 python/4.0.3/.buildinfo                            |  2 +-
 python/4.0.4/.buildinfo                            |  2 +-
 python/main/.buildinfo                             |  2 +-
 .../_modules/pydolphinscheduler/tasks/datax.html   | 53 +++++++++++++++--
 python/main/api.html                               | 62 +++++++++++++++++--
 python/main/searchindex.js                         |  2 +-
 python/main/tasks/datax.html                       | 69 ++++++++++++++++++++--
 python/main/tasks/shell.html                       | 10 +++-
 python/main/tutorial.html                          | 23 ++++++--
 18 files changed, 212 insertions(+), 31 deletions(-)

diff --git a/python/2.0.5/.buildinfo b/python/2.0.5/.buildinfo
index 4a0e7b0b3e..4d5eae6f35 100644
--- a/python/2.0.5/.buildinfo
+++ b/python/2.0.5/.buildinfo
@@ -1,4 +1,4 @@
 # Sphinx build info version 1
 # This file hashes the configuration used when building these files. When it 
is not found, a full rebuild will be done.
-config: 47c03025b7a4efbb8cc1003dc21203ab
+config: 028462528d0092b88afc0ef548299ce5
 tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/python/2.0.6/.buildinfo b/python/2.0.6/.buildinfo
index 6d8f728053..54f976951b 100644
--- a/python/2.0.6/.buildinfo
+++ b/python/2.0.6/.buildinfo
@@ -1,4 +1,4 @@
 # Sphinx build info version 1
 # This file hashes the configuration used when building these files. When it 
is not found, a full rebuild will be done.
-config: 0109ba55ff46d6555e11c54934b81e41
+config: fa5ea0bb23531315cf2b61c5e3122fad
 tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/python/2.0.7/.buildinfo b/python/2.0.7/.buildinfo
index f34c622056..cedae8fe83 100644
--- a/python/2.0.7/.buildinfo
+++ b/python/2.0.7/.buildinfo
@@ -1,4 +1,4 @@
 # Sphinx build info version 1
 # This file hashes the configuration used when building these files. When it 
is not found, a full rebuild will be done.
-config: 23852ad44c5c8c06634bfdbc3217588a
+config: 99a7589df6038adf00391bf87c7eed6f
 tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/python/3.0.0/.buildinfo b/python/3.0.0/.buildinfo
index 2cb14dcb90..51edd71fd9 100644
--- a/python/3.0.0/.buildinfo
+++ b/python/3.0.0/.buildinfo
@@ -1,4 +1,4 @@
 # Sphinx build info version 1
 # This file hashes the configuration used when building these files. When it 
is not found, a full rebuild will be done.
-config: 3b40b42e3479ff9f79d7f24d7a5e4b86
+config: 9d2582f587f53b3df9b73369d5719603
 tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/python/3.0.1/.buildinfo b/python/3.0.1/.buildinfo
index 9557662b3b..b8f8a910d9 100644
--- a/python/3.0.1/.buildinfo
+++ b/python/3.0.1/.buildinfo
@@ -1,4 +1,4 @@
 # Sphinx build info version 1
 # This file hashes the configuration used when building these files. When it 
is not found, a full rebuild will be done.
-config: 5875be8ee6a630bf071a2c7cf6de3e2e
+config: 4b4e4f7e44bfe70bf022966dacfdac42
 tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/python/3.1.0/.buildinfo b/python/3.1.0/.buildinfo
index 834b00869b..88d0caf35d 100644
--- a/python/3.1.0/.buildinfo
+++ b/python/3.1.0/.buildinfo
@@ -1,4 +1,4 @@
 # Sphinx build info version 1
 # This file hashes the configuration used when building these files. When it 
is not found, a full rebuild will be done.
-config: 39c2ae8fd51b649560b85e18f23d733f
+config: 4a29e286c5ad04b1ed04ea0b73eb905c
 tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/python/4.0.0/.buildinfo b/python/4.0.0/.buildinfo
index bd720ada74..14cf6c9ae6 100644
--- a/python/4.0.0/.buildinfo
+++ b/python/4.0.0/.buildinfo
@@ -1,4 +1,4 @@
 # Sphinx build info version 1
 # This file hashes the configuration used when building these files. When it 
is not found, a full rebuild will be done.
-config: e28d82e8d526b59b81325d33b491499d
+config: ea53f9b21236c0a99ab9349e2a59189a
 tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/python/4.0.1/.buildinfo b/python/4.0.1/.buildinfo
index 4d9ffa4beb..2adb26fd7c 100644
--- a/python/4.0.1/.buildinfo
+++ b/python/4.0.1/.buildinfo
@@ -1,4 +1,4 @@
 # Sphinx build info version 1
 # This file hashes the configuration used when building these files. When it 
is not found, a full rebuild will be done.
-config: 8a1bf642b1e7682e9d4e516f03b7351f
+config: 278fbbe11c29ab286ba571b7c9db1946
 tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/python/4.0.2/.buildinfo b/python/4.0.2/.buildinfo
index 1ee96eecc4..73ca7ac673 100644
--- a/python/4.0.2/.buildinfo
+++ b/python/4.0.2/.buildinfo
@@ -1,4 +1,4 @@
 # Sphinx build info version 1
 # This file hashes the configuration used when building these files. When it 
is not found, a full rebuild will be done.
-config: fddbf9bcec7da8b17630d49908392b50
+config: 08a610423d2defb10193db1f9af8ebd4
 tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/python/4.0.3/.buildinfo b/python/4.0.3/.buildinfo
index 8a0b24bb4b..ba39b5344c 100644
--- a/python/4.0.3/.buildinfo
+++ b/python/4.0.3/.buildinfo
@@ -1,4 +1,4 @@
 # Sphinx build info version 1
 # This file hashes the configuration used when building these files. When it 
is not found, a full rebuild will be done.
-config: 7f2819e3b08e58fc50aa98bfef17214a
+config: 87ceca6e430f234e8bcced92fe74e69e
 tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/python/4.0.4/.buildinfo b/python/4.0.4/.buildinfo
index 6bc8057058..8f7ca46e68 100644
--- a/python/4.0.4/.buildinfo
+++ b/python/4.0.4/.buildinfo
@@ -1,4 +1,4 @@
 # Sphinx build info version 1
 # This file hashes the configuration used when building these files. When it 
is not found, a full rebuild will be done.
-config: f3e321cd2bac219561c736e7c23fbe20
+config: 2741aacc167ca6a694706d54e059e446
 tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/python/main/.buildinfo b/python/main/.buildinfo
index 20971fd415..8f78a2a7c4 100644
--- a/python/main/.buildinfo
+++ b/python/main/.buildinfo
@@ -1,4 +1,4 @@
 # Sphinx build info version 1
 # This file hashes the configuration used when building these files. When it 
is not found, a full rebuild will be done.
-config: 83c14bbb21971eda6a993dcda2c2ef2c
+config: bb37374974f439020de21714650b5dd5
 tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/python/main/_modules/pydolphinscheduler/tasks/datax.html 
b/python/main/_modules/pydolphinscheduler/tasks/datax.html
index 48c107275b..9023445cdf 100644
--- a/python/main/_modules/pydolphinscheduler/tasks/datax.html
+++ b/python/main/_modules/pydolphinscheduler/tasks/datax.html
@@ -117,6 +117,38 @@
 <span class="w">    </span><span class="sd">&quot;&quot;&quot;Task CustomDatax 
object, declare behavior for custom DataX task to dolphinscheduler.</span>
 
 <span class="sd">    You provider json template for DataX, it can synchronize 
data according to the template you provided.</span>
+
+<span class="sd">    :param name: task name for this task</span>
+<span class="sd">    :param json: json template string, or json file path for 
custom DataX task, :class:`CustomDataX` will not</span>
+<span class="sd">        format json template, you should format by 
yourself.</span>
+
+<span class="sd">          * Use config string directly instead of json file 
path</span>
+<span class="sd">            * should use :func:`json.dumps` to format it if 
your json template is dict</span>
+
+<span class="sd">            .. code-block:: python</span>
+
+<span class="sd">                import json</span>
+
+<span class="sd">                custom = CustomDataX(</span>
+<span class="sd">                    name=&quot;custom_datax&quot;,</span>
+<span class="sd">                    json=json.dumps({&quot;job&quot;: 
{&quot;content&quot;: [{&quot;reader&quot;: {&quot;name&quot;: 
&quot;mysqlreader&quot;}}]}}),</span>
+<span class="sd">                )</span>
+
+<span class="sd">            * or format it by manual if your json template is 
native str.</span>
+<span class="sd">          * Use json file path, the format it shows in web UI 
is depended on your json file content.</span>
+
+<span class="sd">            .. code-block:: python</span>
+
+<span class="sd">                import json</span>
+
+<span class="sd">                custom = CustomDataX(</span>
+<span class="sd">                    name=&quot;custom_datax&quot;,</span>
+<span class="sd">                    # web UI datax config will show as json 
file content</span>
+<span class="sd">                    
json=&quot;/path/to/datax.json&quot;,</span>
+<span class="sd">                )</span>
+
+<span class="sd">    :param xms: jvm param about min memory for task datax 
running, default is 1g</span>
+<span class="sd">    :param xmx: jvm param about max memory for task datax 
running, default is 1g</span>
 <span class="sd">    &quot;&quot;&quot;</span>
 
     <span class="n">CUSTOM_CONFIG</span> <span class="o">=</span> <span 
class="mi">1</span>
@@ -159,12 +191,25 @@
 <span class="sd">    You provider datasource_name and datatarget_name contain 
connection information, it decisions which</span>
 <span class="sd">    database type and database instance would synchronous 
data.</span>
 
-<span class="sd">    :param name: task name.</span>
-<span class="sd">    :param datasource_name: source database name for task 
datax to extract data.</span>
-<span class="sd">    :param datatarget_name: target database name for task 
datax to load data.</span>
+<span class="sd">    :param name: task name for this task</span>
+<span class="sd">    :param datasource_name: source database name for task 
datax to extract data, it must exist in</span>
+<span class="sd">        dolphinscheduler&#39;s datasource center otherwise 
task datax will raise exception.</span>
+<span class="sd">    :param datatarget_name: target database name for task 
datax to load data, it must exist in</span>
+<span class="sd">        dolphinscheduler&#39;s datasource center otherwise 
task datax will raise exception.</span>
 <span class="sd">    :param sql: sql statement for task datax to extract data 
form source database.</span>
 <span class="sd">    :param target_table: target table name for task datax to 
load data into target database.</span>
-<span class="sd">    :param datasource_type: source database type, 
dolphinscheduler use</span>
+<span class="sd">    :param datasource_type: source database type, 
dolphinscheduler use it to find :param:``datasource_name``</span>
+<span class="sd">        in datasource center.</span>
+<span class="sd">    :param datasource_type: target database type, 
dolphinscheduler use it to find :param:``datatarget_name``</span>
+<span class="sd">        in datasource center.</span>
+<span class="sd">    :param job_speed_byte: task datax job speed byte, default 
is 0. For more detail you can get from</span>
+<span class="sd">        :seealso: https://github.com/alibaba/DataX</span>
+<span class="sd">    :param job_speed_record: task datax job speed record, 
default is 1000. For more detail you can get from</span>
+<span class="sd">        :seealso: https://github.com/alibaba/DataX</span>
+<span class="sd">    :param pre_statements: task datax job pre statements, it 
will execute before task datax job start to load.</span>
+<span class="sd">        default is None.</span>
+<span class="sd">    :param post_statements: task datax job post statements, 
it will execute after task datax job finish load.</span>
+<span class="sd">        default is None.</span>
 <span class="sd">    &quot;&quot;&quot;</span>
 
     <span class="n">CUSTOM_CONFIG</span> <span class="o">=</span> <span 
class="mi">0</span>
diff --git a/python/main/api.html b/python/main/api.html
index c95679eb33..aeeae48924 100644
--- a/python/main/api.html
+++ b/python/main/api.html
@@ -2737,6 +2737,47 @@ attribute <cite>_task_custom_attr</cite> due to avoid 
attribute cover.</p>
 <dd><p>Bases: <code class="xref py py-class docutils literal 
notranslate"><span class="pre">WorkerResourceMixin</span></code>, <a 
class="reference internal" href="#pydolphinscheduler.core.Task" 
title="pydolphinscheduler.core.task.Task"><code class="xref py py-class 
docutils literal notranslate"><span class="pre">Task</span></code></a></p>
 <p>Task CustomDatax object, declare behavior for custom DataX task to 
dolphinscheduler.</p>
 <p>You provider json template for DataX, it can synchronize data according to 
the template you provided.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – task name for this task</p></li>
+<li><p><strong>json</strong> – <p>json template string, or json file path for 
custom DataX task, <a class="reference internal" 
href="#pydolphinscheduler.tasks.CustomDataX" 
title="pydolphinscheduler.tasks.CustomDataX"><code class="xref py py-class 
docutils literal notranslate"><span class="pre">CustomDataX</span></code></a> 
will not
+format json template, you should format by yourself.</p>
+<blockquote>
+<div><ul>
+<li><p>Use config string directly instead of json file path
+* should use <code class="xref py py-func docutils literal notranslate"><span 
class="pre">json.dumps()</span></code> to format it if your json template is 
dict</p>
+<div class="highlight-python notranslate"><div 
class="highlight"><pre><span></span><span class="kn">import</span> <span 
class="nn">json</span>
+
+<span class="n">custom</span> <span class="o">=</span> <span 
class="n">CustomDataX</span><span class="p">(</span>
+    <span class="n">name</span><span class="o">=</span><span 
class="s2">&quot;custom_datax&quot;</span><span class="p">,</span>
+    <span class="n">json</span><span class="o">=</span><span 
class="n">json</span><span class="o">.</span><span class="n">dumps</span><span 
class="p">({</span><span class="s2">&quot;job&quot;</span><span 
class="p">:</span> <span class="p">{</span><span 
class="s2">&quot;content&quot;</span><span class="p">:</span> <span 
class="p">[{</span><span class="s2">&quot;reader&quot;</span><span 
class="p">:</span> <span class="p">{</span><span 
class="s2">&quot;name&quot;</span><span class="p">:</sp [...]
+<span class="p">)</span>
+</pre></div>
+</div>
+<ul class="simple">
+<li><p>or format it by manual if your json template is native str.</p></li>
+</ul>
+</li>
+<li><p>Use json file path, the format it shows in web UI is depended on your 
json file content.</p>
+<div class="highlight-python notranslate"><div 
class="highlight"><pre><span></span><span class="kn">import</span> <span 
class="nn">json</span>
+
+<span class="n">custom</span> <span class="o">=</span> <span 
class="n">CustomDataX</span><span class="p">(</span>
+    <span class="n">name</span><span class="o">=</span><span 
class="s2">&quot;custom_datax&quot;</span><span class="p">,</span>
+    <span class="c1"># web UI datax config will show as json file 
content</span>
+    <span class="n">json</span><span class="o">=</span><span 
class="s2">&quot;/path/to/datax.json&quot;</span><span class="p">,</span>
+<span class="p">)</span>
+</pre></div>
+</div>
+</li>
+</ul>
+</div></blockquote>
+</p></li>
+<li><p><strong>xms</strong> – jvm param about min memory for task datax 
running, default is 1g</p></li>
+<li><p><strong>xmx</strong> – jvm param about max memory for task datax 
running, default is 1g</p></li>
+</ul>
+</dd>
+</dl>
 <dl class="py method">
 <dt class="sig sig-object py" 
id="pydolphinscheduler.tasks.CustomDataX._get_attr">
 <span class="sig-name descname"><span class="pre">_get_attr</span></span><span 
class="sig-paren">(</span><span class="sig-paren">)</span> <span 
class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span 
class="sig-return-typehint"><span class="pre">set</span><span class="p"><span 
class="pre">[</span></span><span class="pre">str</span><span class="p"><span 
class="pre">]</span></span></span></span><a class="headerlink" 
href="#pydolphinscheduler.tasks.CustomDataX._get_attr" titl [...]
@@ -3751,12 +3792,25 @@ database type and database instance would synchronous 
data.</p>
 <dl class="field-list simple">
 <dt class="field-odd">Parameters<span class="colon">:</span></dt>
 <dd class="field-odd"><ul class="simple">
-<li><p><strong>name</strong> – task name.</p></li>
-<li><p><strong>datasource_name</strong> – source database name for task datax 
to extract data.</p></li>
-<li><p><strong>datatarget_name</strong> – target database name for task datax 
to load data.</p></li>
+<li><p><strong>name</strong> – task name for this task</p></li>
+<li><p><strong>datasource_name</strong> – source database name for task datax 
to extract data, it must exist in
+dolphinscheduler’s datasource center otherwise task datax will raise 
exception.</p></li>
+<li><p><strong>datatarget_name</strong> – target database name for task datax 
to load data, it must exist in
+dolphinscheduler’s datasource center otherwise task datax will raise 
exception.</p></li>
 <li><p><strong>sql</strong> – sql statement for task datax to extract data 
form source database.</p></li>
 <li><p><strong>target_table</strong> – target table name for task datax to 
load data into target database.</p></li>
-<li><p><strong>datasource_type</strong> – source database type, 
dolphinscheduler use</p></li>
+<li><p><strong>datasource_type</strong> – source database type, 
dolphinscheduler use it to find :param:<code class="docutils literal 
notranslate"><span class="pre">datasource_name</span></code>
+in datasource center.</p></li>
+<li><p><strong>datasource_type</strong> – target database type, 
dolphinscheduler use it to find :param:<code class="docutils literal 
notranslate"><span class="pre">datatarget_name</span></code>
+in datasource center.</p></li>
+<li><p><strong>job_speed_byte</strong> – task datax job speed byte, default is 
0. For more detail you can get from
+:seealso: <a class="reference external" 
href="https://github.com/alibaba/DataX";>https://github.com/alibaba/DataX</a></p></li>
+<li><p><strong>job_speed_record</strong> – task datax job speed record, 
default is 1000. For more detail you can get from
+:seealso: <a class="reference external" 
href="https://github.com/alibaba/DataX";>https://github.com/alibaba/DataX</a></p></li>
+<li><p><strong>pre_statements</strong> – task datax job pre statements, it 
will execute before task datax job start to load.
+default is None.</p></li>
+<li><p><strong>post_statements</strong> – task datax job post statements, it 
will execute after task datax job finish load.
+default is None.</p></li>
 </ul>
 </dd>
 </dl>
diff --git a/python/main/searchindex.js b/python/main/searchindex.js
index 611251e0e6..e42579235d 100644
--- a/python/main/searchindex.js
+++ b/python/main/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["api", "changelog", "cli", "concept", "config", 
"howto/index", "howto/multi-resources", "howto/remote-submit", "index", 
"resources_plugin/develop", "resources_plugin/github", 
"resources_plugin/gitlab", "resources_plugin/index", "resources_plugin/local", 
"resources_plugin/oss", "resources_plugin/resource-plugin", 
"resources_plugin/s3", "start", "tasks/condition", "tasks/datax", 
"tasks/dependent", "tasks/dvc", "tasks/flink", "tasks/func_wrap", "tasks/http", 
"t [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["api", "changelog", "cli", "concept", "config", 
"howto/index", "howto/multi-resources", "howto/remote-submit", "index", 
"resources_plugin/develop", "resources_plugin/github", 
"resources_plugin/gitlab", "resources_plugin/index", "resources_plugin/local", 
"resources_plugin/oss", "resources_plugin/resource-plugin", 
"resources_plugin/s3", "start", "tasks/condition", "tasks/datax", 
"tasks/dependent", "tasks/dvc", "tasks/flink", "tasks/func_wrap", "tasks/http", 
"t [...]
\ No newline at end of file
diff --git a/python/main/tasks/datax.html b/python/main/tasks/datax.html
index 8ba3a2e9b7..b3855a8698 100644
--- a/python/main/tasks/datax.html
+++ b/python/main/tasks/datax.html
@@ -133,6 +133,8 @@
 <span class="sd">It creates a task to synchronize datax from the source 
database to the target database.</span>
 <span class="sd">&quot;&quot;&quot;</span>
 
+<span class="kn">import</span> <span class="nn">json</span>
+
 <span class="kn">from</span> <span 
class="nn">pydolphinscheduler.core.workflow</span> <span 
class="kn">import</span> <span class="n">Workflow</span>
 <span class="kn">from</span> <span 
class="nn">pydolphinscheduler.tasks.datax</span> <span class="kn">import</span> 
<span class="n">CustomDataX</span><span class="p">,</span> <span 
class="n">DataX</span>
 
@@ -197,7 +199,10 @@
 
     <span class="c1"># You can custom json_template of datax to sync data. 
This task create a new</span>
     <span class="c1"># datax job same as task1, transfer record from 
`first_mysql` to `second_mysql`</span>
-    <span class="n">task2</span> <span class="o">=</span> <span 
class="n">CustomDataX</span><span class="p">(</span><span 
class="n">name</span><span class="o">=</span><span 
class="s2">&quot;task_custom_datax&quot;</span><span class="p">,</span> <span 
class="n">json</span><span class="o">=</span><span class="nb">str</span><span 
class="p">(</span><span class="n">JSON_TEMPLATE</span><span class="p">))</span>
+    <span class="c1"># We should format the custom json config if we want to 
format it in web UI</span>
+    <span class="n">task2</span> <span class="o">=</span> <span 
class="n">CustomDataX</span><span class="p">(</span>
+        <span class="n">name</span><span class="o">=</span><span 
class="s2">&quot;task_custom_datax&quot;</span><span class="p">,</span> <span 
class="n">json</span><span class="o">=</span><span class="n">json</span><span 
class="o">.</span><span class="n">dumps</span><span class="p">(</span><span 
class="n">JSON_TEMPLATE</span><span class="p">,</span> <span 
class="n">indent</span><span class="o">=</span><span class="mi">4</span><span 
class="p">)</span>
+    <span class="p">)</span>
 
     <span class="c1"># [start resource_limit]</span>
     <span class="n">resource_limit</span> <span class="o">=</span> <span 
class="n">DataX</span><span class="p">(</span>
@@ -238,6 +243,47 @@
 <dd><p>Bases: <code class="xref py py-class docutils literal 
notranslate"><span class="pre">WorkerResourceMixin</span></code>, <a 
class="reference internal" href="../api.html#pydolphinscheduler.core.Task" 
title="pydolphinscheduler.core.task.Task"><code class="xref py py-class 
docutils literal notranslate"><span class="pre">Task</span></code></a></p>
 <p>Task CustomDatax object, declare behavior for custom DataX task to 
dolphinscheduler.</p>
 <p>You provider json template for DataX, it can synchronize data according to 
the template you provided.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> – task name for this task</p></li>
+<li><p><strong>json</strong> – <p>json template string, or json file path for 
custom DataX task, <a class="reference internal" 
href="#pydolphinscheduler.tasks.datax.CustomDataX" 
title="pydolphinscheduler.tasks.datax.CustomDataX"><code class="xref py 
py-class docutils literal notranslate"><span 
class="pre">CustomDataX</span></code></a> will not
+format json template, you should format by yourself.</p>
+<blockquote>
+<div><ul>
+<li><p>Use config string directly instead of json file path
+* should use <code class="xref py py-func docutils literal notranslate"><span 
class="pre">json.dumps()</span></code> to format it if your json template is 
dict</p>
+<div class="highlight-python notranslate"><div 
class="highlight"><pre><span></span><span class="kn">import</span> <span 
class="nn">json</span>
+
+<span class="n">custom</span> <span class="o">=</span> <span 
class="n">CustomDataX</span><span class="p">(</span>
+    <span class="n">name</span><span class="o">=</span><span 
class="s2">&quot;custom_datax&quot;</span><span class="p">,</span>
+    <span class="n">json</span><span class="o">=</span><span 
class="n">json</span><span class="o">.</span><span class="n">dumps</span><span 
class="p">({</span><span class="s2">&quot;job&quot;</span><span 
class="p">:</span> <span class="p">{</span><span 
class="s2">&quot;content&quot;</span><span class="p">:</span> <span 
class="p">[{</span><span class="s2">&quot;reader&quot;</span><span 
class="p">:</span> <span class="p">{</span><span 
class="s2">&quot;name&quot;</span><span class="p">:</sp [...]
+<span class="p">)</span>
+</pre></div>
+</div>
+<ul class="simple">
+<li><p>or format it by manual if your json template is native str.</p></li>
+</ul>
+</li>
+<li><p>Use json file path, the format it shows in web UI is depended on your 
json file content.</p>
+<div class="highlight-python notranslate"><div 
class="highlight"><pre><span></span><span class="kn">import</span> <span 
class="nn">json</span>
+
+<span class="n">custom</span> <span class="o">=</span> <span 
class="n">CustomDataX</span><span class="p">(</span>
+    <span class="n">name</span><span class="o">=</span><span 
class="s2">&quot;custom_datax&quot;</span><span class="p">,</span>
+    <span class="c1"># web UI datax config will show as json file 
content</span>
+    <span class="n">json</span><span class="o">=</span><span 
class="s2">&quot;/path/to/datax.json&quot;</span><span class="p">,</span>
+<span class="p">)</span>
+</pre></div>
+</div>
+</li>
+</ul>
+</div></blockquote>
+</p></li>
+<li><p><strong>xms</strong> – jvm param about min memory for task datax 
running, default is 1g</p></li>
+<li><p><strong>xmx</strong> – jvm param about max memory for task datax 
running, default is 1g</p></li>
+</ul>
+</dd>
+</dl>
 <dl class="py attribute">
 <dt class="sig sig-object py" 
id="pydolphinscheduler.tasks.datax.CustomDataX.CUSTOM_CONFIG">
 <span class="sig-name descname"><span 
class="pre">CUSTOM_CONFIG</span></span><em class="property"><span class="w"> 
</span><span class="p"><span class="pre">=</span></span><span class="w"> 
</span><span class="pre">1</span></em><a class="headerlink" 
href="#pydolphinscheduler.tasks.datax.CustomDataX.CUSTOM_CONFIG" title="Link to 
this definition"></a></dt>
@@ -297,12 +343,25 @@ database type and database instance would synchronous 
data.</p>
 <dl class="field-list simple">
 <dt class="field-odd">Parameters<span class="colon">:</span></dt>
 <dd class="field-odd"><ul class="simple">
-<li><p><strong>name</strong> – task name.</p></li>
-<li><p><strong>datasource_name</strong> – source database name for task datax 
to extract data.</p></li>
-<li><p><strong>datatarget_name</strong> – target database name for task datax 
to load data.</p></li>
+<li><p><strong>name</strong> – task name for this task</p></li>
+<li><p><strong>datasource_name</strong> – source database name for task datax 
to extract data, it must exist in
+dolphinscheduler’s datasource center otherwise task datax will raise 
exception.</p></li>
+<li><p><strong>datatarget_name</strong> – target database name for task datax 
to load data, it must exist in
+dolphinscheduler’s datasource center otherwise task datax will raise 
exception.</p></li>
 <li><p><strong>sql</strong> – sql statement for task datax to extract data 
form source database.</p></li>
 <li><p><strong>target_table</strong> – target table name for task datax to 
load data into target database.</p></li>
-<li><p><strong>datasource_type</strong> – source database type, 
dolphinscheduler use</p></li>
+<li><p><strong>datasource_type</strong> – source database type, 
dolphinscheduler use it to find :param:<code class="docutils literal 
notranslate"><span class="pre">datasource_name</span></code>
+in datasource center.</p></li>
+<li><p><strong>datasource_type</strong> – target database type, 
dolphinscheduler use it to find :param:<code class="docutils literal 
notranslate"><span class="pre">datatarget_name</span></code>
+in datasource center.</p></li>
+<li><p><strong>job_speed_byte</strong> – task datax job speed byte, default is 
0. For more detail you can get from
+:seealso: <a class="reference external" 
href="https://github.com/alibaba/DataX";>https://github.com/alibaba/DataX</a></p></li>
+<li><p><strong>job_speed_record</strong> – task datax job speed record, 
default is 1000. For more detail you can get from
+:seealso: <a class="reference external" 
href="https://github.com/alibaba/DataX";>https://github.com/alibaba/DataX</a></p></li>
+<li><p><strong>pre_statements</strong> – task datax job pre statements, it 
will execute before task datax job start to load.
+default is None.</p></li>
+<li><p><strong>post_statements</strong> – task datax job post statements, it 
will execute after task datax job finish load.
+default is None.</p></li>
 </ul>
 </dd>
 </dl>
diff --git a/python/main/tasks/shell.html b/python/main/tasks/shell.html
index 0379394cba..8bff2d9ad6 100644
--- a/python/main/tasks/shell.html
+++ b/python/main/tasks/shell.html
@@ -131,7 +131,15 @@
     <span class="c1"># [end workflow_declare]</span>
     <span class="c1"># [start task_declare]</span>
     <span class="n">task_parent</span> <span class="o">=</span> <span 
class="n">Shell</span><span class="p">(</span><span class="n">name</span><span 
class="o">=</span><span class="s2">&quot;task_parent&quot;</span><span 
class="p">,</span> <span class="n">command</span><span class="o">=</span><span 
class="s2">&quot;echo hello pydolphinscheduler&quot;</span><span 
class="p">)</span>
-    <span class="n">task_child_one</span> <span class="o">=</span> <span 
class="n">Shell</span><span class="p">(</span><span class="n">name</span><span 
class="o">=</span><span class="s2">&quot;task_child_one&quot;</span><span 
class="p">,</span> <span class="n">command</span><span class="o">=</span><span 
class="s2">&quot;echo &#39;child one&#39;&quot;</span><span class="p">)</span>
+    <span class="n">task_child_one</span> <span class="o">=</span> <span 
class="n">Shell</span><span class="p">(</span>
+        <span class="n">name</span><span class="o">=</span><span 
class="s2">&quot;task_child_one&quot;</span><span class="p">,</span>
+        <span class="n">command</span><span class="o">=</span><span 
class="s2">&quot;&quot;&quot;</span>
+<span class="s2">        echo &quot;Executing line 1 with parameter str type 
$</span><span class="si">{param1}</span><span class="s2">&quot;</span>
+<span class="s2">        echo &quot;Executing line 2 with parameter int type 
$</span><span class="si">{param2}</span><span class="s2">&quot;</span>
+<span class="s2">        echo &quot;Executing line 3 with parameter build-in 
parameter currently date $</span><span class="si">{param3}</span><span 
class="s2">&quot;</span>
+<span class="s2">        &quot;&quot;&quot;</span><span class="p">,</span>
+        <span class="n">params</span><span class="o">=</span><span 
class="p">{</span><span class="s2">&quot;param1&quot;</span><span 
class="p">:</span> <span class="s2">&quot;str1&quot;</span><span 
class="p">,</span> <span class="s2">&quot;param2&quot;</span><span 
class="p">:</span> <span class="mi">123</span><span class="p">,</span> <span 
class="s2">&quot;param3&quot;</span><span class="p">:</span> <span 
class="s2">&quot;$[yyyy-MM-dd]&quot;</span><span class="p">},</span>
+    <span class="p">)</span>
     <span class="n">task_child_two</span> <span class="o">=</span> <span 
class="n">Shell</span><span class="p">(</span><span class="n">name</span><span 
class="o">=</span><span class="s2">&quot;task_child_two&quot;</span><span 
class="p">,</span> <span class="n">command</span><span class="o">=</span><span 
class="s2">&quot;echo &#39;child two&#39;&quot;</span><span class="p">)</span>
     <span class="n">task_union</span> <span class="o">=</span> <span 
class="n">Shell</span><span class="p">(</span><span class="n">name</span><span 
class="o">=</span><span class="s2">&quot;task_union&quot;</span><span 
class="p">,</span> <span class="n">command</span><span class="o">=</span><span 
class="s2">&quot;echo union&quot;</span><span class="p">)</span>
 
diff --git a/python/main/tutorial.html b/python/main/tutorial.html
index 4ed596b43f..fce05b3066 100644
--- a/python/main/tutorial.html
+++ b/python/main/tutorial.html
@@ -137,7 +137,15 @@ We can find more YAML file examples in <a class="reference 
external" href="https
     <span class="c1"># [end workflow_declare]</span>
     <span class="c1"># [start task_declare]</span>
     <span class="n">task_parent</span> <span class="o">=</span> <span 
class="n">Shell</span><span class="p">(</span><span class="n">name</span><span 
class="o">=</span><span class="s2">&quot;task_parent&quot;</span><span 
class="p">,</span> <span class="n">command</span><span class="o">=</span><span 
class="s2">&quot;echo hello pydolphinscheduler&quot;</span><span 
class="p">)</span>
-    <span class="n">task_child_one</span> <span class="o">=</span> <span 
class="n">Shell</span><span class="p">(</span><span class="n">name</span><span 
class="o">=</span><span class="s2">&quot;task_child_one&quot;</span><span 
class="p">,</span> <span class="n">command</span><span class="o">=</span><span 
class="s2">&quot;echo &#39;child one&#39;&quot;</span><span class="p">)</span>
+    <span class="n">task_child_one</span> <span class="o">=</span> <span 
class="n">Shell</span><span class="p">(</span>
+        <span class="n">name</span><span class="o">=</span><span 
class="s2">&quot;task_child_one&quot;</span><span class="p">,</span>
+        <span class="n">command</span><span class="o">=</span><span 
class="s2">&quot;&quot;&quot;</span>
+<span class="s2">        echo &quot;Executing line 1 with parameter str type 
$</span><span class="si">{param1}</span><span class="s2">&quot;</span>
+<span class="s2">        echo &quot;Executing line 2 with parameter int type 
$</span><span class="si">{param2}</span><span class="s2">&quot;</span>
+<span class="s2">        echo &quot;Executing line 3 with parameter build-in 
parameter currently date $</span><span class="si">{param3}</span><span 
class="s2">&quot;</span>
+<span class="s2">        &quot;&quot;&quot;</span><span class="p">,</span>
+        <span class="n">params</span><span class="o">=</span><span 
class="p">{</span><span class="s2">&quot;param1&quot;</span><span 
class="p">:</span> <span class="s2">&quot;str1&quot;</span><span 
class="p">,</span> <span class="s2">&quot;param2&quot;</span><span 
class="p">:</span> <span class="mi">123</span><span class="p">,</span> <span 
class="s2">&quot;param3&quot;</span><span class="p">:</span> <span 
class="s2">&quot;$[yyyy-MM-dd]&quot;</span><span class="p">},</span>
+    <span class="p">)</span>
     <span class="n">task_child_two</span> <span class="o">=</span> <span 
class="n">Shell</span><span class="p">(</span><span class="n">name</span><span 
class="o">=</span><span class="s2">&quot;task_child_two&quot;</span><span 
class="p">,</span> <span class="n">command</span><span class="o">=</span><span 
class="s2">&quot;echo &#39;child two&#39;&quot;</span><span class="p">)</span>
     <span class="n">task_union</span> <span class="o">=</span> <span 
class="n">Shell</span><span class="p">(</span><span class="n">name</span><span 
class="o">=</span><span class="s2">&quot;task_union&quot;</span><span 
class="p">,</span> <span class="n">command</span><span class="o">=</span><span 
class="s2">&quot;echo union&quot;</span><span class="p">)</span>
 
@@ -356,7 +364,15 @@ if you are interested in it. For all arguments of object 
workflow, you could fin
 <cite>command</cite> with <code class="code docutils literal 
notranslate"><span class="pre">echo</span></code> command, we also need to set 
the argument <cite>name</cite> for each task
 <em>(not only shell task, `name` is required for each type of task)</em>.</p>
 <div class="highlight-default notranslate"><div 
class="highlight"><pre><span></span>    <span class="n">task_parent</span> 
<span class="o">=</span> <span class="n">Shell</span><span 
class="p">(</span><span class="n">name</span><span class="o">=</span><span 
class="s2">&quot;task_parent&quot;</span><span class="p">,</span> <span 
class="n">command</span><span class="o">=</span><span class="s2">&quot;echo 
hello pydolphinscheduler&quot;</span><span class="p">)</span>
-    <span class="n">task_child_one</span> <span class="o">=</span> <span 
class="n">Shell</span><span class="p">(</span><span class="n">name</span><span 
class="o">=</span><span class="s2">&quot;task_child_one&quot;</span><span 
class="p">,</span> <span class="n">command</span><span class="o">=</span><span 
class="s2">&quot;echo &#39;child one&#39;&quot;</span><span class="p">)</span>
+    <span class="n">task_child_one</span> <span class="o">=</span> <span 
class="n">Shell</span><span class="p">(</span>
+        <span class="n">name</span><span class="o">=</span><span 
class="s2">&quot;task_child_one&quot;</span><span class="p">,</span>
+        <span class="n">command</span><span class="o">=</span><span 
class="s2">&quot;&quot;&quot;</span>
+<span class="s2">        echo &quot;Executing line 1 with parameter str type 
$</span><span class="si">{param1}</span><span class="s2">&quot;</span>
+<span class="s2">        echo &quot;Executing line 2 with parameter int type 
$</span><span class="si">{param2}</span><span class="s2">&quot;</span>
+<span class="s2">        echo &quot;Executing line 3 with parameter build-in 
parameter currently date $</span><span class="si">{param3}</span><span 
class="s2">&quot;</span>
+<span class="s2">        &quot;&quot;&quot;</span><span class="p">,</span>
+        <span class="n">params</span><span class="o">=</span><span 
class="p">{</span><span class="s2">&quot;param1&quot;</span><span 
class="p">:</span> <span class="s2">&quot;str1&quot;</span><span 
class="p">,</span> <span class="s2">&quot;param2&quot;</span><span 
class="p">:</span> <span class="mi">123</span><span class="p">,</span> <span 
class="s2">&quot;param3&quot;</span><span class="p">:</span> <span 
class="s2">&quot;$[yyyy-MM-dd]&quot;</span><span class="p">},</span>
+    <span class="p">)</span>
     <span class="n">task_child_two</span> <span class="o">=</span> <span 
class="n">Shell</span><span class="p">(</span><span class="n">name</span><span 
class="o">=</span><span class="s2">&quot;task_child_two&quot;</span><span 
class="p">,</span> <span class="n">command</span><span class="o">=</span><span 
class="s2">&quot;echo &#39;child two&#39;&quot;</span><span class="p">)</span>
     <span class="n">task_union</span> <span class="o">=</span> <span 
class="n">Shell</span><span class="p">(</span><span class="n">name</span><span 
class="o">=</span><span class="s2">&quot;task_union&quot;</span><span 
class="p">,</span> <span class="n">command</span><span class="o">=</span><span 
class="s2">&quot;echo union&quot;</span><span class="p">)</span>
 
@@ -545,8 +561,7 @@ the workflow schedule information. For more detail, you 
could see <a class="refe
 <p>After we run the tutorial code, you could log in DolphinScheduler web UI, 
go and see the
 <a class="reference external" 
href="https://dolphinscheduler.apache.org/en-us/docs/latest/user_doc/guide/project.html";>DolphinScheduler
 project page</a>. They is a new workflow be created by 
<em>PyDolphinScheduler</em> and it
 named “tutorial” or “tutorial_decorator”. The task graph of workflow like 
below:</p>
-<div class="highlight-text notranslate"><div 
class="highlight"><pre><span></span>                  --&gt; task_child_one
-                /                    \
+<div class="highlight-text notranslate"><div 
class="highlight"><pre><span></span>                /                    \
 task_parent --&gt;                        --&gt;  task_union
                 \                    /
                   --&gt; task_child_two


Reply via email to