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