return an error if duration is zero (#701)
This commit is contained in:
@@ -9,6 +9,7 @@ var (
|
||||
ErrDailyJobAtTimesNil = fmt.Errorf("gocron: DailyJob: atTimes must not be nil")
|
||||
ErrDailyJobHours = fmt.Errorf("gocron: DailyJob: atTimes hours must be between 0 and 23 inclusive")
|
||||
ErrDailyJobMinutesSeconds = fmt.Errorf("gocron: DailyJob: atTimes minutes and seconds must be between 0 and 59 inclusive")
|
||||
ErrDurationJobIntervalZero = fmt.Errorf("gocron: DurationJob: time interval is 0")
|
||||
ErrDurationRandomJobMinMax = fmt.Errorf("gocron: DurationRandomJob: minimum duration must be less than maximum duration")
|
||||
ErrEventListenerFuncNil = fmt.Errorf("gocron: eventListenerFunc must not be nil")
|
||||
ErrJobNotFound = fmt.Errorf("gocron: job not found")
|
||||
|
||||
@@ -148,6 +148,9 @@ type durationJobDefinition struct {
|
||||
}
|
||||
|
||||
func (d durationJobDefinition) setup(j *internalJob, _ *time.Location) error {
|
||||
if d.duration == 0 {
|
||||
return ErrDurationJobIntervalZero
|
||||
}
|
||||
j.jobSchedule = &durationJob{duration: d.duration}
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -478,6 +478,12 @@ func TestScheduler_NewJobErrors(t *testing.T) {
|
||||
nil,
|
||||
ErrCronJobParse,
|
||||
},
|
||||
{
|
||||
"duration job time interval is zero",
|
||||
DurationJob(0 * time.Second),
|
||||
nil,
|
||||
ErrDurationJobIntervalZero,
|
||||
},
|
||||
{
|
||||
"random with bad min/max",
|
||||
DurationRandomJob(
|
||||
|
||||
Reference in New Issue
Block a user