docstr: Start one PaddleHub-Serving instance by arguments with zmq.
docstr_tok: ["Start","one","PaddleHub-Serving","instance","by","arguments","with","zmq","."]
code: def start_zmq_serving_with_args(self):
      """
      Start one PaddleHub-Serving instance by arguments with zmq.
      """
      if self.modules_info is not None:
          for module, info in self.modules_info.items():
              CacheUpdater(
                  "hub_serving_start",
                  module=module,
                  version=info["init_args"]["version"],
              ).start()
          front_port = self.args.port
          if is_port_occupied("127.0.0.1", front_port) is True:
              log.logger.error(
                  "Port %s is occupied, please change it." % front_port
              )
              return False
          back_port = int(front_port) + 1
          for index in range(100):
              if not is_port_occupied("127.0.0.1", back_port):
                  break
              else:
                  back_port = int(back_port) + 1
          else:
              raise RuntimeError(
                  "Port from %s to %s is occupied, please use another port"
                  % (int(front_port) + 1, back_port)
              )
          self.dump_pid_file()
          run_all(
              self.modules_info, self.args.gpu, front_port, back_port
          )
  
      else:
          log.logger.error("Lack of necessary parameters!")
  
imports: import argparse
  import os
  import platform
  import json
  import multiprocessing
  import time
  import signal
  import paddlehub
  from paddlehub.commands import register
  from paddlehub.serving import app_compat
  from paddlehub.env import CONF_HOME
  from paddlehub.serving.http_server import run_all, StandaloneApplication
  from paddlehub.utils import log
  from paddlehub.utils.utils import is_port_occupied
  from paddlehub.server.server import CacheUpdater
label_desc: Use image node_id 7 for calling the ServingCommand obj's underlying member method code with example usage: obj.start_zmq_serving_with_args() and returns: False