mirror of
https://github.com/Fishwaldo/sched.git
synced 2025-07-23 13:28:58 +00:00
Add Context to Job, update examples, Limit Retries of Jobs
This commit is contained in:
parent
cf767ae59c
commit
1d8093471d
21 changed files with 576 additions and 150 deletions
|
@ -1,13 +1,15 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"github.com/sherifabdlnaby/sched"
|
||||
"log"
|
||||
"os"
|
||||
"os/signal"
|
||||
"syscall"
|
||||
"time"
|
||||
|
||||
"github.com/sherifabdlnaby/sched"
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
@ -17,14 +19,16 @@ func main() {
|
|||
panic(fmt.Sprintf("invalid interval: %s", err.Error()))
|
||||
}
|
||||
|
||||
job := func() {
|
||||
job := func(context.Context) {
|
||||
log.Println("Doing some work...")
|
||||
time.Sleep(1 * time.Second)
|
||||
log.Println("Finished Work.")
|
||||
}
|
||||
|
||||
ctx, cancel := context.WithCancel(context.Background())
|
||||
|
||||
// Create Schedule
|
||||
schedule := sched.NewSchedule("every30s", fixedTimer30second, job, sched.WithLogger(sched.DefaultLogger()))
|
||||
schedule := sched.NewSchedule(ctx, "every30s", fixedTimer30second, job, sched.WithLogger(sched.DefaultLogger()))
|
||||
|
||||
// Start Schedule
|
||||
schedule.Start()
|
||||
|
@ -34,6 +38,8 @@ func main() {
|
|||
signal.Notify(signalChan, syscall.SIGTERM, syscall.SIGINT, syscall.SIGQUIT)
|
||||
_ = <-signalChan
|
||||
|
||||
cancel()
|
||||
|
||||
// Stop before shutting down.
|
||||
schedule.Stop()
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue