code: def start_servers(path, port, frontend):
      global BACKEND_PORT
  
      import pathlib
  
      pa = pathlib.Path(__file__).resolve().parent
  
      if (path is not None) and (not os.path.exists(path)):
          LOGGER.error("{} does not exist!".format(path))
          return ERROR
  
      LOGGER.debug("Backend started on 0.0.0.0:{}".format(BACKEND_PORT))
  
      # separate thread
      path = os.path.abspath(path) if path is not None else None
      be_server_thr = threading.Thread(
          target=be_server.main, args=(path, BACKEND_PORT), daemon=True
      )
      if frontend:
          fe_server_thr = threading.Thread(
              target=start_fe_server, args=(port,), daemon=True
          )
  
      # for frontend
      os.chdir(os.path.join(str(pa), FE_BUILD_DIR))
  
      try:
          be_server_thr.start()
          if frontend:
              fe_server_thr.start()
  
          if frontend:
              fe_server_thr.join()
          be_server_thr.join()
      except Exception as e:
          LOGGER.error("Exception occurred:" + str(e))
          return ERROR
  
      return SUCCESS
  
imports: import os
  import sys
  import shutil
  import logging
  import argparse
  import subprocess
  import threading
  import requests
  import re
  import cgi
  import json
  import aup.RestAPI.server
  from http.server import SimpleHTTPRequestHandler, HTTPServer
  from ..utils import get_available_port
label_desc: Use image node_id 2 for calling a global function with example usage: start_servers(path, port, frontend) and returns: SUCCESS, ERROR, ERROR