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

zhongjiajie pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git


The following commit(s) were added to refs/heads/dev by this push:
     new 3457cee960 [python] Migrate pythonGatewayServer into api server (#9372)
3457cee960 is described below

commit 3457cee96047ab7ab0371a61852cac3e5a98d991
Author: Jiajie Zhong <[email protected]>
AuthorDate: Thu Apr 7 14:41:15 2022 +0800

    [python] Migrate pythonGatewayServer into api server (#9372)
    
    Currently the size of our distribute package is up to
    800MB, this patch is migrate python gateway server into
    api server
    
    The distribute package size before and after this patch is:
    
    ```sh
    # before
    796M   apache-dolphinscheduler-2.0.4-SNAPSHOT-bin.tar.gz
    
    # after
    647M   apache-dolphinscheduler-2.0.4-SNAPSHOT-bin.tar.gz
    ```
---
 deploy/docker/docker-compose.yml                   | 23 ------
 deploy/docker/docker-stack.yml                     | 21 ------
 .../dolphinscheduler/templates/_helpers.tpl        |  3 -
 docs/docs/en/faq.md                                |  6 ++
 docs/docs/en/guide/installation/pseudo-cluster.md  |  4 +-
 docs/docs/en/guide/installation/standalone.md      |  4 ++
 docs/docs/en/guide/upgrade.md                      |  2 +-
 dolphinscheduler-api/pom.xml                       |  6 ++
 dolphinscheduler-api/src/main/docker/Dockerfile    |  2 +-
 .../configuration/PythonGatewayConfiguration.java  | 16 +++--
 .../dolphinscheduler/api/python/PythonGateway.java | 54 +++++++-------
 .../src/main/resources/application.yaml            | 20 ++++++
 .../src/main/assembly/dolphinscheduler-bin.xml     |  5 --
 dolphinscheduler-python/pom.xml                    | 75 -------------------
 .../pydolphinscheduler/UPDATING.md                 |  3 +
 .../pydolphinscheduler/docs/source/start.rst       | 28 +++++---
 .../pydolphinscheduler/docs/source/tutorial.rst    |  2 +-
 .../tests/integration/__init__.py                  |  2 +-
 .../tests/integration/test_submit_examples.py      |  4 +-
 .../dolphinscheduler-python-gateway-server.xml     | 64 -----------------
 dolphinscheduler-python/src/main/bin/start.sh      | 32 ---------
 dolphinscheduler-python/src/main/docker/Dockerfile | 34 ---------
 .../src/main/resources/application.yaml            | 83 ----------------------
 .../src/main/resources/logback-spring.xml          | 57 ---------------
 .../dolphinscheduler-standalone-server.xml         |  4 --
 .../src/main/dist-bin/start.sh                     |  2 +-
 .../src/main/resources/application.yaml            |  2 +
 script/dolphinscheduler-daemon.sh                  |  4 +-
 script/env/install_env.sh                          |  5 --
 script/scp-hosts.sh                                |  2 +-
 script/start-all.sh                                |  7 --
 script/status-all.sh                               |  8 ---
 script/stop-all.sh                                 |  7 --
 33 files changed, 108 insertions(+), 483 deletions(-)

diff --git a/deploy/docker/docker-compose.yml b/deploy/docker/docker-compose.yml
index 83ca8a644a..2c557c4dd7 100644
--- a/deploy/docker/docker-compose.yml
+++ b/deploy/docker/docker-compose.yml
@@ -140,29 +140,6 @@ services:
     networks:
       - dolphinscheduler
 
-  dolphinscheduler-python-gateway:
-    image: ${HUB}/dolphinscheduler-python:${TAG}
-    ports:
-      - "54321:54321"
-      - "25333:25333"
-    env_file: .env
-    healthcheck:
-      test: [ "CMD", "curl", "http://localhost:54321/actuator/health"; ]
-      interval: 30s
-      timeout: 5s
-      retries: 3
-    depends_on:
-      dolphinscheduler-schema-initializer:
-        condition: service_completed_successfully
-      dolphinscheduler-zookeeper:
-        condition: service_healthy
-    volumes:
-      - dolphinscheduler-logs:/opt/dolphinscheduler/logs
-      - dolphinscheduler-shared-local:/opt/soft
-      - dolphinscheduler-resource-local:/dolphinscheduler
-    networks:
-      - dolphinscheduler
-
 networks:
   dolphinscheduler:
     driver: bridge
diff --git a/deploy/docker/docker-stack.yml b/deploy/docker/docker-stack.yml
index 8d0ae92553..02ee37be02 100644
--- a/deploy/docker/docker-stack.yml
+++ b/deploy/docker/docker-stack.yml
@@ -118,27 +118,6 @@ services:
       mode: replicated
       replicas: 1
 
-  dolphinscheduler-python-gateway:
-    image: apache/dolphinscheduler-python-gateway
-    ports:
-      - 54321:54321
-      - 25333:25333
-    env_file: .env
-    healthcheck:
-      test: [ "CMD", "curl", "http://localhost:54321/actuator/health"; ]
-      interval: 30s
-      timeout: 5s
-      retries: 3
-    volumes:
-      - dolphinscheduler-logs:/opt/dolphinscheduler/logs
-      - dolphinscheduler-shared-local:/opt/soft
-      - dolphinscheduler-resource-local:/dolphinscheduler
-    networks:
-      - dolphinscheduler
-    deploy:
-      mode: replicated
-      replicas: 1
-
 networks:
   dolphinscheduler:
     driver: overlay
diff --git a/deploy/kubernetes/dolphinscheduler/templates/_helpers.tpl 
b/deploy/kubernetes/dolphinscheduler/templates/_helpers.tpl
index f8fef1167a..c2684e029a 100644
--- a/deploy/kubernetes/dolphinscheduler/templates/_helpers.tpl
+++ b/deploy/kubernetes/dolphinscheduler/templates/_helpers.tpl
@@ -44,9 +44,6 @@ Create default docker images' fullname.
 {{- define "dolphinscheduler.image.fullname.tools" -}}
 {{- .Values.image.registry }}/dolphinscheduler-tools:{{ .Values.image.tag | 
default .Chart.AppVersion -}}
 {{- end -}}
-{{- define "dolphinscheduler.image.fullname.python-gateway" -}}
-{{- .Values.image.registry }}/dolphinscheduler-python-gateway:{{ 
.Values.image.tag | default .Chart.AppVersion -}}
-{{- end -}}
 
 {{/*
 Create a default common labels.
diff --git a/docs/docs/en/faq.md b/docs/docs/en/faq.md
index c920dfa327..f4a9d44bfc 100644
--- a/docs/docs/en/faq.md
+++ b/docs/docs/en/faq.md
@@ -712,6 +712,12 @@ A:The repair can be completed by executing the following 
SQL in the database:
 update t_ds_version set version='2.0.1';
 ```
 
+## Can not find python-gateway-server in distribute package
+
+After version 3.0.0-alpha, Python gateway server integrate into API server, 
and Python gateway service will start when you
+start API server. If you want disabled when Python gateway service you could 
change API server configuration in path
+`api-server/conf/application.yaml` and change attribute 
`python-gateway.enabled : false`.
+
 ---
 
 ## We will collect more FAQ later
\ No newline at end of file
diff --git a/docs/docs/en/guide/installation/pseudo-cluster.md 
b/docs/docs/en/guide/installation/pseudo-cluster.md
index b887030e4a..333aecc762 100644
--- a/docs/docs/en/guide/installation/pseudo-cluster.md
+++ b/docs/docs/en/guide/installation/pseudo-cluster.md
@@ -193,7 +193,9 @@ sh ./bin/dolphinscheduler-daemon.sh start alert-server
 sh ./bin/dolphinscheduler-daemon.sh stop alert-server
 ```
 
-> **_Note:_**: Please refer to the section of "System Architecture Design" for 
service usage
+> **_Note:_**: Please refer to the section of "System Architecture Design" for 
service usage. Python gateway service is
+> started along with the api-server, and if you do not want to start Python 
gateway service please disabled it by changing
+> the yaml config `python-gateway.enabled : false` in api-server's 
configuration path `api-server/conf/application.yaml` 
 
 [jdk]: https://www.oracle.com/technetwork/java/javase/downloads/index.html
 [zookeeper]: https://zookeeper.apache.org/releases.html
diff --git a/docs/docs/en/guide/installation/standalone.md 
b/docs/docs/en/guide/installation/standalone.md
index a03944c17c..c9e37db7f1 100644
--- a/docs/docs/en/guide/installation/standalone.md
+++ b/docs/docs/en/guide/installation/standalone.md
@@ -39,4 +39,8 @@ sh ./bin/dolphinscheduler-daemon.sh start standalone-server
 sh ./bin/dolphinscheduler-daemon.sh stop standalone-server
 ```
 
+> Note: Python gateway service is started along with the api-server, and if 
you do not want to start Python gateway
+> service please disabled it by changing the yaml config 
`python-gateway.enabled : false` in api-server's configuration
+> path `api-server/conf/application.yaml`
+
 [jdk]: https://www.oracle.com/technetwork/java/javase/downloads/index.html
diff --git a/docs/docs/en/guide/upgrade.md b/docs/docs/en/guide/upgrade.md
index b401ce1354..38f80d8c73 100644
--- a/docs/docs/en/guide/upgrade.md
+++ b/docs/docs/en/guide/upgrade.md
@@ -6,7 +6,7 @@
 
  `sh ./script/stop-all.sh`
 
-## Download the Newest Version Installation Package
+## Download the Latest Version Installation Package
 
 - [download](/en-us/download/download.html) the latest version of the 
installation packages.
 - The following upgrade operations need to be performed in the new version's 
directory.
diff --git a/dolphinscheduler-api/pom.xml b/dolphinscheduler-api/pom.xml
index d162239c7c..156a4d1160 100644
--- a/dolphinscheduler-api/pom.xml
+++ b/dolphinscheduler-api/pom.xml
@@ -275,6 +275,12 @@
             </exclusions>
             <scope>test</scope>
         </dependency>
+
+        <!-- Python -->
+        <dependency>
+            <groupId>net.sf.py4j</groupId>
+            <artifactId>py4j</artifactId>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/dolphinscheduler-api/src/main/docker/Dockerfile 
b/dolphinscheduler-api/src/main/docker/Dockerfile
index 9a1a8c0ca1..946f2ff46a 100644
--- a/dolphinscheduler-api/src/main/docker/Dockerfile
+++ b/dolphinscheduler-api/src/main/docker/Dockerfile
@@ -29,6 +29,6 @@ WORKDIR $DOLPHINSCHEDULER_HOME
 
 ADD ./target/api-server $DOLPHINSCHEDULER_HOME
 
-EXPOSE 12345
+EXPOSE 12345 25333
 
 CMD [ "/bin/bash", "./bin/start.sh" ]
diff --git 
a/dolphinscheduler-python/src/main/java/org/apache/dolphinscheduler/server/config/PythonGatewayConfig.java
 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/configuration/PythonGatewayConfiguration.java
similarity index 86%
rename from 
dolphinscheduler-python/src/main/java/org/apache/dolphinscheduler/server/config/PythonGatewayConfig.java
rename to 
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/configuration/PythonGatewayConfiguration.java
index f06ea765b6..5735e27fd2 100644
--- 
a/dolphinscheduler-python/src/main/java/org/apache/dolphinscheduler/server/config/PythonGatewayConfig.java
+++ 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/configuration/PythonGatewayConfiguration.java
@@ -15,17 +15,17 @@
  * limitations under the License.
  */
 
-package org.apache.dolphinscheduler.server.config;
+package org.apache.dolphinscheduler.api.configuration;
 
 import org.springframework.boot.context.properties.ConfigurationProperties;
 import 
org.springframework.boot.context.properties.EnableConfigurationProperties;
-import org.springframework.context.annotation.Configuration;
 import org.springframework.stereotype.Component;
 
 @Component
 @EnableConfigurationProperties
-@ConfigurationProperties("python-gateway")
-public class PythonGatewayConfig {
+@ConfigurationProperties(value = "python-gateway", ignoreUnknownFields = false)
+public class PythonGatewayConfiguration {
+    private boolean enabled;
     private String gatewayServerAddress;
     private int gatewayServerPort;
     private String pythonAddress;
@@ -33,6 +33,14 @@ public class PythonGatewayConfig {
     private int connectTimeout;
     private int readTimeout;
 
+    public boolean getEnabled() {
+        return enabled;
+    }
+
+    public void setEnabled(boolean enabled) {
+        this.enabled = enabled;
+    }
+
     public String getGatewayServerAddress() {
         return gatewayServerAddress;
     }
diff --git 
a/dolphinscheduler-python/src/main/java/org/apache/dolphinscheduler/server/PythonGatewayServer.java
 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/python/PythonGateway.java
similarity index 95%
rename from 
dolphinscheduler-python/src/main/java/org/apache/dolphinscheduler/server/PythonGatewayServer.java
rename to 
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/python/PythonGateway.java
index 2f7fc94da7..8aea47471b 100644
--- 
a/dolphinscheduler-python/src/main/java/org/apache/dolphinscheduler/server/PythonGatewayServer.java
+++ 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/python/PythonGateway.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.dolphinscheduler.server;
+package org.apache.dolphinscheduler.api.python;
 
 import org.apache.dolphinscheduler.api.dto.resources.ResourceComponent;
 import org.apache.dolphinscheduler.api.enums.Status;
@@ -56,7 +56,7 @@ import org.apache.dolphinscheduler.dao.mapper.ProjectMapper;
 import org.apache.dolphinscheduler.dao.mapper.ProjectUserMapper;
 import org.apache.dolphinscheduler.dao.mapper.ScheduleMapper;
 import org.apache.dolphinscheduler.dao.mapper.TaskDefinitionMapper;
-import org.apache.dolphinscheduler.server.config.PythonGatewayConfig;
+import 
org.apache.dolphinscheduler.api.configuration.PythonGatewayConfiguration;
 import org.apache.dolphinscheduler.spi.enums.ResourceType;
 
 import org.apache.commons.collections.CollectionUtils;
@@ -75,17 +75,13 @@ import javax.annotation.PostConstruct;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import 
org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
-import org.springframework.context.annotation.ComponentScan;
+import org.springframework.stereotype.Component;
 
 import py4j.GatewayServer;
 
-@SpringBootApplication
-@ComponentScan(value = "org.apache.dolphinscheduler")
-public class PythonGatewayServer extends SpringBootServletInitializer {
-    private static final Logger logger = 
LoggerFactory.getLogger(PythonGatewayServer.class);
+@Component
+public class PythonGateway {
+    private static final Logger logger = 
LoggerFactory.getLogger(PythonGateway.class);
 
     private static final WarningType DEFAULT_WARNING_TYPE = WarningType.NONE;
     private static final int DEFAULT_WARNING_GROUP_ID = 0;
@@ -141,7 +137,7 @@ public class PythonGatewayServer extends 
SpringBootServletInitializer {
     private DataSourceMapper dataSourceMapper;
 
     @Autowired
-    private PythonGatewayConfig pythonGatewayConfig;
+    private PythonGatewayConfiguration pythonGatewayConfiguration;
 
     @Autowired
     private ProjectUserMapper projectUserMapper;
@@ -546,30 +542,32 @@ public class PythonGatewayServer extends 
SpringBootServletInitializer {
     }
 
     @PostConstruct
-    public void run() {
+    public void init() {
+        if (pythonGatewayConfiguration.getEnabled()) {
+            this.start();
+        }
+    }
+
+    private void start() {
         GatewayServer server;
         try {
-            InetAddress gatewayHost = 
InetAddress.getByName(pythonGatewayConfig.getGatewayServerAddress());
-            InetAddress pythonHost = 
InetAddress.getByName(pythonGatewayConfig.getPythonAddress());
+            InetAddress gatewayHost = 
InetAddress.getByName(pythonGatewayConfiguration.getGatewayServerAddress());
+            InetAddress pythonHost = 
InetAddress.getByName(pythonGatewayConfiguration.getPythonAddress());
             server = new GatewayServer(
-                    this,
-                    pythonGatewayConfig.getGatewayServerPort(),
-                    pythonGatewayConfig.getPythonPort(),
-                    gatewayHost,
-                    pythonHost,
-                    pythonGatewayConfig.getConnectTimeout(),
-                    pythonGatewayConfig.getReadTimeout(),
-                    null
+                this,
+                pythonGatewayConfiguration.getGatewayServerPort(),
+                pythonGatewayConfiguration.getPythonPort(),
+                gatewayHost,
+                pythonHost,
+                pythonGatewayConfiguration.getConnectTimeout(),
+                pythonGatewayConfiguration.getReadTimeout(),
+                null
             );
             GatewayServer.turnLoggingOn();
-            logger.info("PythonGatewayServer started on: " + 
gatewayHost.toString());
+            logger.info("PythonGatewayService started on: " + 
gatewayHost.toString());
             server.start();
         } catch (UnknownHostException e) {
-            logger.error("exception occurred while constructing 
PythonGatewayServer().", e);
+            logger.error("exception occurred while constructing 
PythonGatewayService().", e);
         }
     }
-
-    public static void main(String[] args) {
-        SpringApplication.run(PythonGatewayServer.class, args);
-    }
 }
diff --git a/dolphinscheduler-api/src/main/resources/application.yaml 
b/dolphinscheduler-api/src/main/resources/application.yaml
index 3db21c3a04..23b93028af 100644
--- a/dolphinscheduler-api/src/main/resources/application.yaml
+++ b/dolphinscheduler-api/src/main/resources/application.yaml
@@ -108,6 +108,26 @@ audit:
 metrics:
   enabled: true
 
+python-gateway:
+  # Weather enable python gateway server or not. The default value is true.
+  enabled: true
+  # The address of Python gateway server start. Set its value to `0.0.0.0` if 
your Python API run in different
+  # between Python gateway server. It could be be specific to other address 
like `127.0.0.1` or `localhost`
+  gateway-server-address: 0.0.0.0
+  # The port of Python gateway server start. Define which port you could 
connect to Python gateway server from
+  # Python API side.
+  gateway-server-port: 25333
+  # The address of Python callback client.
+  python-address: 127.0.0.1
+  # The port of Python callback client.
+  python-port: 25334
+  # Close connection of socket server if no other request accept after x 
milliseconds. Define value is (0 = infinite),
+  # and socket server would never close even though no requests accept
+  connect-timeout: 0
+  # Close each active connection of socket server if python program not active 
after x milliseconds. Define value is
+  # (0 = infinite), and socket server would never close even though no 
requests accept
+  read-timeout: 0
+
 # Override by profile
 
 ---
diff --git a/dolphinscheduler-dist/src/main/assembly/dolphinscheduler-bin.xml 
b/dolphinscheduler-dist/src/main/assembly/dolphinscheduler-bin.xml
index 3b113741c1..1049d2720a 100644
--- a/dolphinscheduler-dist/src/main/assembly/dolphinscheduler-bin.xml
+++ b/dolphinscheduler-dist/src/main/assembly/dolphinscheduler-bin.xml
@@ -50,11 +50,6 @@
             <outputDirectory>logger-server</outputDirectory>
         </fileSet>
 
-        <fileSet>
-            
<directory>${basedir}/../dolphinscheduler-python/target/python-gateway-server</directory>
-            <outputDirectory>python-gateway-server</outputDirectory>
-        </fileSet>
-
         <fileSet>
             
<directory>${basedir}/../dolphinscheduler-standalone-server/target/standalone-server</directory>
             <outputDirectory>standalone-server</outputDirectory>
diff --git a/dolphinscheduler-python/pom.xml b/dolphinscheduler-python/pom.xml
index 00aaaf8f38..4a66459cae 100644
--- a/dolphinscheduler-python/pom.xml
+++ b/dolphinscheduler-python/pom.xml
@@ -28,82 +28,7 @@
     <name>${project.artifactId}</name>
     <packaging>jar</packaging>
 
-    <dependencies>
-        <!-- dolphinscheduler -->
-        <dependency>
-            <groupId>org.apache.dolphinscheduler</groupId>
-            <artifactId>dolphinscheduler-api</artifactId>
-        </dependency>
-
-        <!--springboot-->
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-web</artifactId>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.springframework.boot</groupId>
-                    <artifactId>spring-boot-starter-tomcat</artifactId>
-                </exclusion>
-                <exclusion>
-                    <artifactId>log4j-to-slf4j</artifactId>
-                    <groupId>org.apache.logging.log4j</groupId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-
-        <dependency>
-            <groupId>net.sf.py4j</groupId>
-            <artifactId>py4j</artifactId>
-        </dependency>
-
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-jar-plugin</artifactId>
-                <configuration>
-                    <excludes>
-                        <exclude>*.yaml</exclude>
-                        <exclude>*.xml</exclude>
-                    </excludes>
-                </configuration>
-            </plugin>
-            <plugin>
-                <artifactId>maven-assembly-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>dolphinscheduler-python-gateway-server</id>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>single</goal>
-                        </goals>
-                        <configuration>
-                            <finalName>python-gateway-server</finalName>
-                            <descriptors>
-                                
<descriptor>src/main/assembly/dolphinscheduler-python-gateway-server.xml</descriptor>
-                            </descriptors>
-                            <appendAssemblyId>false</appendAssemblyId>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
     <profiles>
-        <profile>
-            <id>docker</id>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.codehaus.mojo</groupId>
-                        <artifactId>exec-maven-plugin</artifactId>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
         <profile>
             <id>python</id>
             <build>
diff --git a/dolphinscheduler-python/pydolphinscheduler/UPDATING.md 
b/dolphinscheduler-python/pydolphinscheduler/UPDATING.md
index cf45c097fb..430e4b626f 100644
--- a/dolphinscheduler-python/pydolphinscheduler/UPDATING.md
+++ b/dolphinscheduler-python/pydolphinscheduler/UPDATING.md
@@ -24,6 +24,9 @@ It started after version 2.0.5 released
 
 ## dev
 
+* Integrate Python gateway server into Dolphinscheduler API server, and you 
could start Python gateway service by command
+  `./bin/dolphinscheduler-daemon.sh start api-server` instead of independent 
command
+  `./bin/dolphinscheduler-daemon.sh start python-gateway-server`.
 * Remove parameter `queue` from class `ProcessDefinition` to avoid confuse 
user when it change but not work
 * Change `yaml_parser.py` method `to_string` to magic method `__str__` make it 
more pythonic.
 * Use package ``ruamel.yaml`` replace ``pyyaml`` for write yaml file with 
comment.
diff --git a/dolphinscheduler-python/pydolphinscheduler/docs/source/start.rst 
b/dolphinscheduler-python/pydolphinscheduler/docs/source/start.rst
index 0af90d5494..489f4e8eb3 100644
--- a/dolphinscheduler-python/pydolphinscheduler/docs/source/start.rst
+++ b/dolphinscheduler-python/pydolphinscheduler/docs/source/start.rst
@@ -55,7 +55,7 @@ After Python is already installed on your machine following 
section
     $ pip install apache-dolphinscheduler
 
 The latest version of *PyDolphinScheduler* would be installed after you run 
above
-command in your terminal. You could go and `start Python Gateway Server`_ to 
finish
+command in your terminal. You could go and `start Python Gateway Service`_ to 
finish
 the prepare, and then go to :doc:`tutorial` to make your hand dirty. But if you
 want to install the unreleased version of *PyDolphinScheduler*, you could go 
and see
 section `installing PyDolphinScheduler in dev`_ for more detail.
@@ -74,33 +74,39 @@ which we hold in GitHub
     # Install PyDolphinScheduler in develop mode
     $ cd dolphinscheduler-python/pydolphinscheduler && pip install -e .
 
-After you installed *PyDolphinScheduler*, please remember `start Python 
Gateway Server`_
+After you installed *PyDolphinScheduler*, please remember `start Python 
Gateway Service`_
 which waiting for *PyDolphinScheduler*'s workflow definition require.
 
-Start Python Gateway Server
----------------------------
+Start Python Gateway Service
+----------------------------
 
 Since **PyDolphinScheduler** is Python API for `Apache DolphinScheduler`_, it
 could define workflow and tasks structure, but could not run it unless you
-`install Apache DolphinScheduler`_ and start Python gateway server. We only
-and some key steps here and you could go `install Apache DolphinScheduler`_
-for more detail
+`install Apache DolphinScheduler`_ and start its API server which including
+Python gateway service in it. We only and some key steps here and you could
+go `install Apache DolphinScheduler`_ for more detail
 
 .. code-block:: bash
 
-    # Start pythonGatewayServer
-    $ ./bin/dolphinscheduler-daemon.sh start pythonGatewayServer
+    # Start DolphinScheduler api-server which including python gateway service
+    $ ./bin/dolphinscheduler-daemon.sh start api-server
 
 To check whether the server is alive or not, you could run :code:`jps`. And
-the server is health if keyword `PythonGatewayServer` in the console. 
+the server is health if keyword `ApiApplicationServer` in the console.
 
 .. code-block:: bash
 
     $ jps
     ....
-    201472 PythonGatewayServer
+    201472 ApiApplicationServer
     ....
 
+.. note::
+
+   Please make sure you already enabled started Python gateway service along 
with `api-server`. The configuration is in
+   yaml config path `python-gateway.enabled : true` in api-server's 
configuration path in `api-server/conf/application.yaml`.
+   The default value is true and Python gateway service start when api server 
is been started.
+
 What's More
 -----------
 
diff --git 
a/dolphinscheduler-python/pydolphinscheduler/docs/source/tutorial.rst 
b/dolphinscheduler-python/pydolphinscheduler/docs/source/tutorial.rst
index 83c5746aba..e0f22fb816 100644
--- a/dolphinscheduler-python/pydolphinscheduler/docs/source/tutorial.rst
+++ b/dolphinscheduler-python/pydolphinscheduler/docs/source/tutorial.rst
@@ -130,7 +130,7 @@ Now, we could run the Python code like other Python script, 
for the basic usage
    :end-before: [end submit_or_run]
 
 If you not start your Apache DolphinScheduler server, you could find the way in
-:ref:`start:start Python gateway server` and it would have more detail about 
related server
+:ref:`start:start Python gateway service` and it would have more detail about 
related server
 start. Beside attribute `run`, we have attribute `submit` for object 
`ProcessDefinition`
 and it just submit workflow to the daemon but not setting the schedule 
information. For
 more detail you could see :ref:`concept:process definition`.
diff --git 
a/dolphinscheduler-python/pydolphinscheduler/tests/integration/__init__.py 
b/dolphinscheduler-python/pydolphinscheduler/tests/integration/__init__.py
index 8079bfba1f..65625a9f04 100644
--- a/dolphinscheduler-python/pydolphinscheduler/tests/integration/__init__.py
+++ b/dolphinscheduler-python/pydolphinscheduler/tests/integration/__init__.py
@@ -15,4 +15,4 @@
 # specific language governing permissions and limitations
 # under the License.
 
-"""Test integration between Python API and PythonGatewayServer."""
+"""Test integration between Python API and PythonGatewayService."""
diff --git 
a/dolphinscheduler-python/pydolphinscheduler/tests/integration/test_submit_examples.py
 
b/dolphinscheduler-python/pydolphinscheduler/tests/integration/test_submit_examples.py
index 0964e1b975..85e5e23e31 100644
--- 
a/dolphinscheduler-python/pydolphinscheduler/tests/integration/test_submit_examples.py
+++ 
b/dolphinscheduler-python/pydolphinscheduler/tests/integration/test_submit_examples.py
@@ -15,7 +15,7 @@
 # specific language governing permissions and limitations
 # under the License.
 
-"""Test whether success submit examples DAG to PythonGatewayServer."""
+"""Test whether success submit examples DAG to PythonGatewayService."""
 
 from pathlib import Path
 
@@ -34,7 +34,7 @@ from tests.testing.path import path_example
     ],
 )
 def test_exec_white_list_example(example_path: Path):
-    """Test execute examples and submit DAG to PythonGatewayServer."""
+    """Test execute examples and submit DAG to PythonGatewayService."""
     try:
         exec(example_path.read_text())
     except Exception:
diff --git 
a/dolphinscheduler-python/src/main/assembly/dolphinscheduler-python-gateway-server.xml
 
b/dolphinscheduler-python/src/main/assembly/dolphinscheduler-python-gateway-server.xml
deleted file mode 100644
index 49e03206ea..0000000000
--- 
a/dolphinscheduler-python/src/main/assembly/dolphinscheduler-python-gateway-server.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~     http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  -->
-
-<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.1.0";
-          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-          xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.1.0 
http://maven.apache.org/xsd/assembly-2.1.0.xsd";>
-    <id>dolphinscheduler-python-gateway-server</id>
-    <formats>
-        <format>dir</format>
-    </formats>
-    <includeBaseDirectory>false</includeBaseDirectory>
-    <baseDirectory>python-gateway-server</baseDirectory>
-    <fileSets>
-        <fileSet>
-            <directory>${basedir}/src/main/resources</directory>
-            <includes>
-                <include>*.yaml</include>
-                <include>*.xml</include>
-            </includes>
-            <outputDirectory>conf</outputDirectory>
-        </fileSet>
-        <fileSet>
-            <directory>${basedir}/src/main/bin</directory>
-            <outputDirectory>bin</outputDirectory>
-            <fileMode>0755</fileMode>
-            <directoryMode>0755</directoryMode>
-        </fileSet>
-        <fileSet>
-            <directory>${basedir}/../script/env</directory>
-            <outputDirectory>bin</outputDirectory>
-            <includes>
-                <include>dolphinscheduler_env.sh</include>
-            </includes>
-            <fileMode>0755</fileMode>
-            <directoryMode>0755</directoryMode>
-        </fileSet>
-        <fileSet>
-            
<directory>${basedir}/../dolphinscheduler-common/src/main/resources</directory>
-            <includes>
-                <include>**/*.properties</include>
-            </includes>
-            <outputDirectory>conf</outputDirectory>
-        </fileSet>
-    </fileSets>
-    <dependencySets>
-        <dependencySet>
-            <outputDirectory>libs</outputDirectory>
-        </dependencySet>
-    </dependencySets>
-</assembly>
diff --git a/dolphinscheduler-python/src/main/bin/start.sh 
b/dolphinscheduler-python/src/main/bin/start.sh
deleted file mode 100644
index d588a2b2d9..0000000000
--- a/dolphinscheduler-python/src/main/bin/start.sh
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/bash
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-BIN_DIR=$(dirname $0)
-DOLPHINSCHEDULER_HOME=${DOLPHINSCHEDULER_HOME:-$(cd $BIN_DIR/..; pwd)}
-
-source "$BIN_DIR/dolphinscheduler_env.sh"
-
-JAVA_OPTS=${JAVA_OPTS:-"-server -Duser.timezone=${SPRING_JACKSON_TIME_ZONE} 
-Xms1g -Xmx1g -Xmn512m -XX:+PrintGCDetails -Xloggc:gc.log 
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=dump.hprof"}
-
-if [[ "$DOCKER" == "true" ]]; then
-  JAVA_OPTS="${JAVA_OPTS} -XX:-UseContainerSupport"
-fi
-
-java $JAVA_OPTS \
-  -cp "$DOLPHINSCHEDULER_HOME/conf":"$DOLPHINSCHEDULER_HOME/libs/*" \
-  org.apache.dolphinscheduler.server.PythonGatewayServer
diff --git a/dolphinscheduler-python/src/main/docker/Dockerfile 
b/dolphinscheduler-python/src/main/docker/Dockerfile
deleted file mode 100644
index 7f50a8fc39..0000000000
--- a/dolphinscheduler-python/src/main/docker/Dockerfile
+++ /dev/null
@@ -1,34 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-FROM openjdk:8-jre-slim-buster
-
-ENV DOCKER true
-ENV TZ Asia/Shanghai
-ENV DOLPHINSCHEDULER_HOME /opt/dolphinscheduler
-
-RUN apt update ; \
-    apt install -y curl sudo ; \
-    rm -rf /var/lib/apt/lists/*
-
-WORKDIR $DOLPHINSCHEDULER_HOME
-
-ADD ./target/python-gateway-server $DOLPHINSCHEDULER_HOME
-
-EXPOSE 25333 54321
-
-CMD [ "/bin/bash", "./bin/start.sh" ]
diff --git a/dolphinscheduler-python/src/main/resources/application.yaml 
b/dolphinscheduler-python/src/main/resources/application.yaml
deleted file mode 100644
index b899c03638..0000000000
--- a/dolphinscheduler-python/src/main/resources/application.yaml
+++ /dev/null
@@ -1,83 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-spring:
-  application:
-    name: python-gateway-server
-  main:
-    banner-mode: off
-  datasource:
-    driver-class-name: org.h2.Driver
-    url: 
jdbc:h2:mem:dolphinscheduler;MODE=MySQL;DB_CLOSE_DELAY=-1;DATABASE_TO_LOWER=true
-    username: sa
-    password: ""
-  jackson:
-    time-zone: UTC
-    date-format: "yyyy-MM-dd HH:mm:ss"
-  servlet:
-    multipart:
-      max-file-size: 1024MB
-      max-request-size: 1024MB
-  messages:
-    basename: i18n/messages
-  jpa:
-    hibernate:
-      ddl-auto: none
-
-python-gateway:
-  # The address of Python gateway server start. Set its value to `0.0.0.0` if 
your Python API run in different
-  # between Python gateway server. It could be be specific to other address 
like `127.0.0.1` or `localhost`
-  gateway-server-address: 0.0.0.0
-  # The port of Python gateway server start. Define which port you could 
connect to Python gateway server from
-  # Python API side.
-  gateway-server-port: 25333
-  # The address of Python callback client.
-  python-address: 127.0.0.1
-  # The port of Python callback client.
-  python-port: 25334
-  # Close connection of socket server if no other request accept after x 
milliseconds. Define value is (0 = infinite),
-  # and socket server would never close even though no requests accept
-  connect-timeout: 0
-  # Close each active connection of socket server if python program not active 
after x milliseconds. Define value is
-  # (0 = infinite), and socket server would never close even though no 
requests accept
-  read-timeout: 0
-
-server:
-  port: 54321
-
-management:
-  endpoints:
-    web:
-      exposure:
-        include: '*'
-  metrics:
-    tags:
-      application: ${spring.application.name}
-
-metrics:
-  enabled: true
-
-# Override by profile
----
-spring:
-  config:
-    activate:
-      on-profile: postgresql
-  quartz:
-    properties:
-      org.quartz.jobStore.driverDelegateClass: 
org.quartz.impl.jdbcjobstore.PostgreSQLDelegate
-
diff --git a/dolphinscheduler-python/src/main/resources/logback-spring.xml 
b/dolphinscheduler-python/src/main/resources/logback-spring.xml
deleted file mode 100644
index 4f06d160d6..0000000000
--- a/dolphinscheduler-python/src/main/resources/logback-spring.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~     http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  -->
-
-<configuration scan="true" scanPeriod="120 seconds">
-<property name="log.base" value="logs"/>
-
-<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-    <encoder>
-        <pattern>
-            [%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - 
%msg%n
-        </pattern>
-        <charset>UTF-8</charset>
-    </encoder>
-</appender>
-
-<appender name="PYTHONGATEWAYLOGFILE" 
class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${log.base}/dolphinscheduler-python-gateway.log</file>
-    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-        <level>INFO</level>
-    </filter>
-    <rollingPolicy 
class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
-        
<fileNamePattern>${log.base}/dolphinscheduler-python-gateway.%d{yyyy-MM-dd_HH}.%i.log</fileNamePattern>
-        <maxHistory>168</maxHistory>
-        <maxFileSize>64MB</maxFileSize>
-    </rollingPolicy>
-    <encoder>
-        <pattern>
-            [%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - 
%msg%n
-        </pattern>
-        <charset>UTF-8</charset>
-    </encoder>
-</appender>
-
-<root level="INFO">
-    <if condition="${DOCKER:-false}">
-        <then>
-            <appender-ref ref="STDOUT"/>
-        </then>
-    </if>
-    <appender-ref ref="PYTHONGATEWAYLOGFILE"/>
-</root>
-</configuration>
diff --git 
a/dolphinscheduler-standalone-server/src/main/assembly/dolphinscheduler-standalone-server.xml
 
b/dolphinscheduler-standalone-server/src/main/assembly/dolphinscheduler-standalone-server.xml
index a201d509db..e66fce1287 100644
--- 
a/dolphinscheduler-standalone-server/src/main/assembly/dolphinscheduler-standalone-server.xml
+++ 
b/dolphinscheduler-standalone-server/src/main/assembly/dolphinscheduler-standalone-server.xml
@@ -45,10 +45,6 @@
             
<directory>${basedir}/../dolphinscheduler-log-server/target/logger-server/libs</directory>
             <outputDirectory>libs/logger-server</outputDirectory>
         </fileSet>
-        <fileSet>
-            
<directory>${basedir}/../dolphinscheduler-python/target/python-gateway-server/libs</directory>
-            <outputDirectory>libs/python-gateway</outputDirectory>
-        </fileSet>
 
         <fileSet>
             <directory>${basedir}/src/main/resources</directory>
diff --git a/dolphinscheduler-standalone-server/src/main/dist-bin/start.sh 
b/dolphinscheduler-standalone-server/src/main/dist-bin/start.sh
index 4ef3a11d36..019c61a7bf 100755
--- a/dolphinscheduler-standalone-server/src/main/dist-bin/start.sh
+++ b/dolphinscheduler-standalone-server/src/main/dist-bin/start.sh
@@ -28,7 +28,7 @@ if [[ "$DOCKER" == "true" ]]; then
 fi
 
 CP=$DOLPHINSCHEDULER_HOME/libs/standalone-server/*
-for d in alert-server api-server master-server python-gateway-server 
worker-server; do
+for d in alert-server api-server master-server worker-server; do
   for f in $DOLPHINSCHEDULER_HOME/../$d/libs/*.jar; do
     CP=$CP:$f
   done
diff --git 
a/dolphinscheduler-standalone-server/src/main/resources/application.yaml 
b/dolphinscheduler-standalone-server/src/main/resources/application.yaml
index 7950d80177..a2894bfd2a 100644
--- a/dolphinscheduler-standalone-server/src/main/resources/application.yaml
+++ b/dolphinscheduler-standalone-server/src/main/resources/application.yaml
@@ -140,6 +140,8 @@ alert:
   port: 50052
 
 python-gateway:
+  # Weather enable python gateway server or not. The default value is true.
+  enabled: true
   # The address of Python gateway server start. Set its value to `0.0.0.0` if 
your Python API run in different
   # between Python gateway server. It could be be specific to other address 
like `127.0.0.1` or `localhost`
   gateway-server-address: 0.0.0.0
diff --git a/script/dolphinscheduler-daemon.sh 
b/script/dolphinscheduler-daemon.sh
index 61e732590c..1ded5074fd 100755
--- a/script/dolphinscheduler-daemon.sh
+++ b/script/dolphinscheduler-daemon.sh
@@ -16,7 +16,7 @@
 # limitations under the License.
 #
 
-usage="Usage: dolphinscheduler-daemon.sh (start|stop|status) 
<api-server|master-server|worker-server|alert-server|python-gateway-server|standalone-server>
 "
+usage="Usage: dolphinscheduler-daemon.sh (start|stop|status) 
<api-server|master-server|worker-server|alert-server|standalone-server> "
 
 # if no args specified, show usage
 if [ $# -le 1 ]; then
@@ -61,8 +61,6 @@ elif [ "$command" = "alert-server" ]; then
   log=$DOLPHINSCHEDULER_HOME/alert-server/logs/$command-$HOSTNAME.out
 elif [ "$command" = "standalone-server" ]; then
   log=$DOLPHINSCHEDULER_HOME/standalone-server/logs/$command-$HOSTNAME.out
-elif [ "$command" = "python-gateway-server" ]; then
-  log=$DOLPHINSCHEDULER_HOME/python-gateway-server/logs/$command-$HOSTNAME.out
 else
   echo "Error: No command named '$command' was found."
   exit 1
diff --git a/script/env/install_env.sh b/script/env/install_env.sh
index 2df11c14ae..8b68c0ea00 100644
--- a/script/env/install_env.sh
+++ b/script/env/install_env.sh
@@ -48,11 +48,6 @@ alertServer=${alertServer:-"ds3"}
 # Example for hostname: apiServers="ds1", Example for IP: 
apiServers="192.168.8.1"
 apiServers=${apiServers:-"ds1"}
 
-# A comma separated list of machine hostname or IP would be installed Python 
gateway server, it
-# must be a subset of configuration `ips`.
-# Example for hostname: pythonGatewayServers="ds1", Example for IP: 
pythonGatewayServers="192.168.8.1"
-pythonGatewayServers=${pythonGatewayServers:-"ds1"}
-
 # The directory to install DolphinScheduler for all machine we config above. 
It will automatically be created by `install.sh` script if not exists.
 # Do not set this configuration same as the current path (pwd)
 installPath=${installPath:-"/tmp/dolphinscheduler"}
diff --git a/script/scp-hosts.sh b/script/scp-hosts.sh
index 1b216ab41e..2397ede936 100755
--- a/script/scp-hosts.sh
+++ b/script/scp-hosts.sh
@@ -49,7 +49,7 @@ do
   echo "scp dirs to $host/$installPath starting"
        ssh -p $sshPort $host  "cd $installPath/; rm -rf bin/ conf/ lib/ 
script/ sql/ ui/"
 
-  for dsDir in bin master-server worker-server alert-server api-server ui 
python-gateway-server
+  for dsDir in bin master-server worker-server alert-server api-server ui
   do
     # if worker in workersGroupMap
     if [[ "${workersGroupMap[${host}]}" ]]; then
diff --git a/script/start-all.sh b/script/start-all.sh
index e7934da8c1..002f99d873 100755
--- a/script/start-all.sh
+++ b/script/start-all.sh
@@ -56,13 +56,6 @@ do
   ssh -p $sshPort $apiServer  "cd $installPath/; sh 
bin/dolphinscheduler-daemon.sh start api-server;"
 done
 
-pythonGatewayHost=(${pythonGatewayServers//,/ })
-for pythonGatewayServer in "${pythonGatewayHost[@]}"
-do
-  echo "$pythonGatewayServer python gateway server is starting"
-  ssh -p $sshPort $pythonGatewayServer "cd $installPath/; sh 
bin/dolphinscheduler-daemon.sh start python-gateway-server;"
-done
-
 # query server status
 echo "query server status"
 cd $installPath/; sh bin/status-all.sh
diff --git a/script/status-all.sh b/script/status-all.sh
index c3b4591a62..df19eb9c37 100755
--- a/script/status-all.sh
+++ b/script/status-all.sh
@@ -74,11 +74,3 @@ do
   apiState=`ssh -p $sshPort $apiServer  "cd $installPath/; sh 
bin/dolphinscheduler-daemon.sh status api-server;"`
   echo "$apiServer  $apiState"
 done
-
-# python gateway server check state
-pythonGatewayHost=(${pythonGatewayServers//,/ })
-for pythonGatewayServer in "${pythonGatewayHost[@]}"
-do
-  pythonGatewayState=`ssh -p $sshPort $pythonGatewayServer  "cd $installPath/; 
sh bin/dolphinscheduler-daemon.sh status python-gateway-server;"`
-  echo "$pythonGatewayServer  $pythonGatewayState"
-done
diff --git a/script/stop-all.sh b/script/stop-all.sh
index 856340c390..6592374659 100755
--- a/script/stop-all.sh
+++ b/script/stop-all.sh
@@ -54,10 +54,3 @@ do
   echo "$apiServer api server is stopping"
   ssh -p $sshPort $apiServer  "cd $installPath/; sh 
bin/dolphinscheduler-daemon.sh stop api-server;"
 done
-
-pythonGatewayHost=(${pythonGatewayServers//,/ })
-for pythonGatewayServer in "${pythonGatewayHost[@]}"
-do
-  echo "$pythonGatewayServer python gateway server is stopping"
-  ssh -p $sshPort $pythonGatewayServer  "cd $installPath/; sh 
bin/dolphinscheduler-daemon.sh stop python-gateway-server;"
-done

Reply via email to