Adding upstream version 0.28.1.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
88f1d47ab6
commit
e28c88ef14
933 changed files with 194711 additions and 0 deletions
41
tools/cron/job.go
Normal file
41
tools/cron/job.go
Normal file
|
@ -0,0 +1,41 @@
|
|||
package cron
|
||||
|
||||
import "encoding/json"
|
||||
|
||||
// Job defines a single registered cron job.
|
||||
type Job struct {
|
||||
fn func()
|
||||
schedule *Schedule
|
||||
id string
|
||||
}
|
||||
|
||||
// Id returns the cron job id.
|
||||
func (j *Job) Id() string {
|
||||
return j.id
|
||||
}
|
||||
|
||||
// Expression returns the plain cron job schedule expression.
|
||||
func (j *Job) Expression() string {
|
||||
return j.schedule.rawExpr
|
||||
}
|
||||
|
||||
// Run runs the cron job function.
|
||||
func (j *Job) Run() {
|
||||
if j.fn != nil {
|
||||
j.fn()
|
||||
}
|
||||
}
|
||||
|
||||
// MarshalJSON implements [json.Marshaler] and export the current
|
||||
// jobs data into valid JSON.
|
||||
func (j Job) MarshalJSON() ([]byte, error) {
|
||||
plain := struct {
|
||||
Id string `json:"id"`
|
||||
Expression string `json:"expression"`
|
||||
}{
|
||||
Id: j.Id(),
|
||||
Expression: j.Expression(),
|
||||
}
|
||||
|
||||
return json.Marshal(plain)
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue