--- title: "无法解析计划,年度时间无效 (Could not parse schedule invalid year times) - 如何解决此 Elasticsearch 异常" date: 2026-01-13 lastmod: 2026-01-13 description: "Elasticsearch 无法解析计划中的年度时间格式时的错误原因和解决方法。" tags: ["调度解析", "年度时间", "异常处理", "定时任务"] summary: "版本: 6.8-8.9 简而言之,当 Elasticsearch 由于年度时间格式无效而无法解析计划时,就会出现此错误。这通常发生在计划中使用的 cron 表达式不正确或格式不当时。要解决此问题,您应该验证计划中使用的 cron 表达式。确保它遵循正确的格式:分钟(0-59)、小时(0-23)、月份中的日期(1-31)、月份(1-12)和星期中的日期(0-6)(周日=0)。修正 cron 表达式应该可以解决此错误。 日志上下文 # 日志 “could not parse [{}] schedule. invalid year times” 的类名是 YearlySchedule.java。我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人参考: public YearlySchedule parse(XContentParser parser) throws IOException { if (parser.currentToken() == XContentParser.Token.START_OBJECT) { try { return new YearlySchedule(YearTimes.parse(parser, parser.currentToken())); } catch (ElasticsearchParseException pe) { throw new ElasticsearchParseException("could not parse [{}] schedule. invalid year times", pe, TYPE); } } if (parser.currentToken() == XContentParser.Token.START_ARRAY) { List<YearTimes> times = new ArrayList<>(); XContentParser." --- > **版本:** 6.8-8.9 简而言之,当 Elasticsearch 由于年度时间格式无效而无法解析计划时,就会出现此错误。这通常发生在计划中使用的 cron 表达式不正确或格式不当时。要解决此问题,您应该验证计划中使用的 cron 表达式。确保它遵循正确的格式:分钟(0-59)、小时(0-23)、月份中的日期(1-31)、月份(1-12)和星期中的日期(0-6)(周日=0)。修正 cron 表达式应该可以解决此错误。 ## 日志上下文 日志 “could not parse [{}] schedule. invalid year times” 的类名是 [YearlySchedule.java](https://www.geeksforgeeks.org/java-lang-class-class-java-set-1/)。我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人参考: ```java public YearlySchedule parse(XContentParser parser) throws IOException { if (parser.currentToken() == XContentParser.Token.START_OBJECT) { try { return new YearlySchedule(YearTimes.parse(parser, parser.currentToken())); } catch (ElasticsearchParseException pe) { throw new ElasticsearchParseException("could not parse [{}] schedule. invalid year times", pe, TYPE); } } if (parser.currentToken() == XContentParser.Token.START_ARRAY) { List times = new ArrayList<>(); XContentParser.Token token; ```