Go - Schedule.Cron()
Sets the cron expressions that determines when the schedule triggers and a callback to be triggered.
import ("fmt""github.com/nitrictech/go-sdk/faas""github.com/nitrictech/go-sdk/nitric")func main() {nitric.NewSchedule("archive-data").Cron("0 1 1 * *", func (ctx *faas.EventContext, _ faas.EventHandler) (*faas.EventContext, error) {fmt.Println("archiving data")return ctx, nil})nitric.Run()}
Parameters
- Name
expression
- Required
- Required
- Type
- string
- Description
The expression that sets when the schedule will be triggered. This value should be a standard 5 value Unix cron expression, e.g., '0 1 1 * *'.
- Name
middleware
- Required
- Required
- Type
- EventMiddleware
- Description
One or more callback functions to use as the handler which will run on the defined frequency.
Examples
Create a Schedule
import ("fmt""github.com/nitrictech/go-sdk/faas""github.com/nitrictech/go-sdk/nitric")func main() {// every 15 minutesnitric.NewSchedule("check for updates").Cron("0/15 * * * *", func (ctx *faas.EventContext, _ faas.EventHandler) (*faas.EventContext, error) {fmt.Println("checking for updates")return ctx, nil})// at 1:00am on the 1st of every monthnitric.NewSchedule("delete stale data").Cron("0 1 1 * *", func (ctx *faas.EventContext, _ faas.EventHandler) (*faas.EventContext, error) {fmt.Println("deleting stale data")return ctx, nil})nitric.Run()}
Create a Schedule with multiple middleware/handlers
import ("fmt""github.com/nitrictech/go-sdk/faas""github.com/nitrictech/go-sdk/nitric")func generateReport(ctx *faas.EventContext, next faas.EventHandler) (*faas.EventContext, error) {// generate reportreturn next(ctx)}func sendNotification(ctx *faas.EventContext, next faas.EventHandler) (*faas.EventContext, error) {// send notification with the reportreturn next(ctx)}func main() {nitric.NewSchedule("check for updates").Cron("0 1 1 * *", faas.ComposeEventMiddleware(generateReport, sendNotification))nitric.Run()}
Last updated on Nov 4, 2024