public static Future<?> submitBackgroundJob(
      Runnable job, long initialDelayInMs, long periodInMs) {
    return ScheduledExecutorUtil.safelyScheduleWithFixedDelay(
        backgroundService, job, initialDelayInMs, periodInMs, TimeUnit.MILLISECONDS);
  }
The shortest scheduling cycle for these jobs is {@link
PipeConfig#getPipeSubtaskExecutorCronHeartbeatEventIntervalSeconds()}, suitable for jobs that are
NOT time-critical.
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/agent/runtime/PipePeriodicalJobExecutor.java