@Override
    public void run() {
      try (NamedThread namedThread = new NamedThread("Scheduled Query Progress Reporter")) {
        while (!context.executor.isShutdown()) {
          try {
            Thread.sleep(context.getProgressReporterSleepTime());
          } catch (InterruptedException e) {
            LOG.warn("interrupt discarded");
          }
          try {
            for (ScheduledQueryExecutor worker : runningExecutors) {
              worker.reportQueryProgress();
            }
          } catch (Exception e) {
            LOG.error("ProgressReporter encountered exception ", e);
          }
        }
      }
    }
Reports progress periodically.

To retain the running state of all the in-flight scheduled query executions;
this class initiates a reporting round periodically.
ql/src/java/org/apache/hadoop/hive/ql/scheduled/ScheduledQueryExecutionService.java