{"record":{"id":"b2a5fea1aaec2f3b","repo":"hashicorp/nomad","slug":"cron-end-must-contain-d-fields","errorCode":null,"errorMessage":"cron.end must contain %d fields","messagePattern":"cron\\.end must contain (.+?) fields","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"nomad/structs/task_sched.go","lineNumber":80,"sourceCode":"\tCron *TaskScheduleCron\n}\n\nfunc (t *TaskSchedule) Validate() error {\n\tif t.Cron == nil {\n\t\treturn errors.New(\"must specify cron block\")\n\t}\n\n\tconst (\n\t\tstartFields     = 6\n\t\tendFields       = 2\n\t\trestrictedChars = \"/,\"\n\t)\n\n\tif strings.Count(t.Cron.Start, \" \") != (startFields - 1) {\n\t\treturn fmt.Errorf(\"cron.start must contain %d fields\", startFields)\n\t}\n\tif strings.Count(t.Cron.End, \" \") != (endFields - 1) {\n\t\treturn fmt.Errorf(\"cron.end must contain %d fields\", endFields)\n\t}\n\tif strings.ContainsAny(t.Cron.Start, restrictedChars) {\n\t\treturn fmt.Errorf(\"cron.start must not contain %q\", restrictedChars)\n\t}\n\tif strings.ContainsAny(t.Cron.End, restrictedChars) {\n\t\treturn fmt.Errorf(\"cron.end must not contain %q\", restrictedChars)\n\t}\n\n\treturn nil\n}\n\nfunc (t *TaskSchedule) Next(from time.Time) (start, end time.Duration, err error) {\n\treturn t.Cron.Next(from)\n}\n\ntype TaskScheduleCron struct {\n\t// Start is a stripped-down cron syntax, e.g.\n\t// \"0 30 9 * * MON-FRI *\"","sourceCodeStart":62,"sourceCodeEnd":98,"githubUrl":"https://github.com/hashicorp/nomad/blob/482b49bf1aec006f089bcfc7e632d8f6ac303e5e/nomad/structs/task_sched.go#L62-L98","documentation":"Returned by TaskSchedule.Validate when the cron.end expression does not have exactly 2 space-separated fields. End expressions are partial crons (hour minute); a different field count cannot be completed into a valid schedule.","triggerScenarios":"Thrown at nomad/structs/task_sched.go:80 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Provide cron.end with exactly 2 fields such as \"17 *\"","Check for extra spaces or omitted fields"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"482b49bf1aec006f089bcfc7e632d8f6ac303e5e","analyzedAt":"2026-09-04T07:54:14.808Z","contentChangedAt":"2026-09-04T07:54:14.808Z","schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}