docs: protected boolean inPeriod(AlarmRule alarmRule) {
          String rule = alarmRule.getMatchValue();
          if (StringUtils.isEmpty(rule)) {
              log.info("rule is empty " + alarmRule);
              return false;
          }
  
          String periods = StringUtils.substringAfterLast(rule, "@");
          if (StringUtils.isEmpty(periods)) {
              // 没有时间要求，则任务在报警时间段内
              return isInPeriodWhenNoPeriod();
          }
  
          Calendar calendar = currentCalendar();
          periods = StringUtils.trim(periods);
          for (String period : StringUtils.split(periods, ",")) {
              String[] startAndEnd = StringUtils.split(period, "-");
              if (startAndEnd == null || startAndEnd.length != 2) {
                  log.error("error period time format in rule : " + alarmRule);
                  return isInPeriodWhenErrorFormat();
              }
  
              String start = startAndEnd[0];
              String end = startAndEnd[1];
              if (checkInPeriod(calendar, start, end)) {
                  log.info("rule is in period : " + alarmRule);
                  return true;
              }
          }
  
          log.info("rule is not in period : " + alarmRule);
          return false;
      }