diff options
Diffstat (limited to 'vendor/codeberg.org/gruf/go-sched/job.go')
-rw-r--r-- | vendor/codeberg.org/gruf/go-sched/job.go | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/vendor/codeberg.org/gruf/go-sched/job.go b/vendor/codeberg.org/gruf/go-sched/job.go index 7831a39bd..e94c00024 100644 --- a/vendor/codeberg.org/gruf/go-sched/job.go +++ b/vendor/codeberg.org/gruf/go-sched/job.go @@ -61,6 +61,11 @@ func (job *Job) With(t Timing) *Job { panic("nil Timing") } + if job.id != 0 { + // Cannot update scheduled job + panic("job already scheduled") + } + if job.timing == emptytiming { // Set new timing job.timing = t @@ -76,12 +81,18 @@ func (job *Job) With(t Timing) *Job { return job } -// Panic specifics how this job handles panics, default is an actual panic. -func (job *Job) Panic(fn func(interface{})) *Job { +// OnPanic specifies how this job handles panics, default is an actual panic. +func (job *Job) OnPanic(fn func(interface{})) *Job { if fn == nil { // Ensure a function panic("nil func") } + + if job.id != 0 { + // Cannot update scheduled job + panic("job already scheduled") + } + job.panic = fn return job } |