diff --git a/.gitignore b/.gitignore index d22a5eb..040f669 100644 --- a/.gitignore +++ b/.gitignore @@ -15,5 +15,4 @@ vendor/ .idea _backup -_example .todo \ No newline at end of file diff --git a/_example/entry/context/main.go b/_example/entry/context/main.go new file mode 100644 index 0000000..ada2cdf --- /dev/null +++ b/_example/entry/context/main.go @@ -0,0 +1,29 @@ +package main + +import ( + "context" + "fmt" + "log" + "time" + + "github.com/flc1125/go-cron/v4" +) + +func main() { + c := cron.New( + cron.WithSeconds(), + ) + + _, _ = c.AddFunc("* * * * * *", func(ctx context.Context) error { + entry, ok := cron.EntryFromContext(ctx) + if ok { + log.Println(fmt.Sprintf("entry id: %d", entry.ID)) + } + return nil + }) + + c.Start() + defer c.Stop() + + time.Sleep(5 * time.Second) +} diff --git a/middleware/recovery/example_test.go b/_example/middleware/recovery/main.go similarity index 61% rename from middleware/recovery/example_test.go rename to _example/middleware/recovery/main.go index 12c70c4..1654669 100644 --- a/middleware/recovery/example_test.go +++ b/_example/middleware/recovery/main.go @@ -1,20 +1,23 @@ -package recovery_test +package main import ( "context" + "time" "github.com/flc1125/go-cron/v4" "github.com/flc1125/go-cron/v4/middleware/recovery" ) -func Example() { +func main() { c := cron.New() c.Use(recovery.New()) - _, _ = c.AddFunc("* * * * * ?", func(context.Context) error { + _, _ = c.AddFunc("* * * * * *", func(context.Context) error { panic("YOLO") }) c.Start() defer c.Stop() + + time.Sleep(2 * time.Second) } diff --git a/middleware/recovery/README.md b/middleware/recovery/README.md index ed94af1..ac12464 100644 --- a/middleware/recovery/README.md +++ b/middleware/recovery/README.md @@ -5,24 +5,27 @@ The `recovery` middleware is a middleware for [go-cron](https://github.com/flc11 ## Usage ```go -package recovery_test +package main import ( "context" + "time" "github.com/flc1125/go-cron/v4" "github.com/flc1125/go-cron/v4/middleware/recovery" ) -func Example() { +func main() { c := cron.New() c.Use(recovery.New()) - c.AddFunc("* * * * * ?", func(ctx context.Context) error { + _, _ = c.AddFunc("* * * * * *", func(context.Context) error { panic("YOLO") }) c.Start() defer c.Stop() + + time.Sleep(2 * time.Second) } ``` \ No newline at end of file