code: def start(self):
          '''
          Starts execution of the script
          '''
          # invoke the appropriate sub-command as requested from command-line
          try:
              self.args.func()
          except SystemExit as e:
              if e.code != 0:
                  raise
          except KeyboardInterrupt:
              self.log.warning("exited via keyboard interrupt")
          except:
              self.log.exception("exited start function")
              # set exit code so we know it did not end successfully
              # TODO different exit codes based on signals ?
          finally:
              self._flush_metrics_q.put(None, block=True)
              self._flush_metrics_q.put(None, block=True, timeout=1)
  
          self.log.debug("exited_successfully"f start(self):
          '''
          Starts execution of the script
          '''
          # invoke the appropriate sub-command as requested from command-line
          try:
              self.args.func()
          except SystemExit as e:
              if e.code != 0:
                  raise
          except KeyboardInterrupt:
              self.log.warning("exited via keyboard interrupt")
          except:
              self.log.exception("exited start function")
              # set exit code so we know it did not end successfully
              # TODO different exit codes based on signals ?
          finally:
              self._flush_metrics_q.put(None, block=True)
              self._flush_metrics_q.put(None, block=True, timeout=1)
  
          self.log.debug("exited_successfully")
docs: Starts execution of the script