code: def run(api_port=8082, address=None, unix_socket=None, scheduler=None):
      
      if scheduler is None:
          scheduler = Scheduler()
  
      # load scheduler state
      scheduler.load()
  
      _init_api(
          scheduler=scheduler,
          api_port=api_port,
          address=address,
          unix_socket=unix_socket,
      )
  
      # prune work DAG every 60 seconds
      pruner = tornado.ioloop.PeriodicCallback(scheduler.prune, 60000)
      pruner.start()
  
      def shutdown_handler(signum, frame):
          exit_handler()
          sys.exit(0)
  
      @atexit.register
      def exit_handler():
          logger.info("Scheduler instance shutting down")
          scheduler.dump()
          stop()
  
      signal.signal(signal.SIGINT, shutdown_handler)
      signal.signal(signal.SIGTERM, shutdown_handler)
      if os.name == 'nt':
          signal.signal(signal.SIGBREAK, shutdown_handler)
      else:
          signal.signal(signal.SIGQUIT, shutdown_handler)
  
      logger.info("Scheduler starting up")
  
      tornado.ioloop.IOLoop.instance().start()
docs: Runs one instance of the API server.