/goscheduler

Golang scheduler that allow to save last run state in database.

Primary LanguageGo

Go Scheduler (beta)

Golang scheduler that allow to save last run state in database and run only on one replica.

Repositories

Supported repositories Add a new repository?

  1. In memory.
  2. Redis.
  3. MongoDB.
  4. Postgres.

How to use

package main

import (
	"context"
	"fmt"
	"github.com/mbobrovskyi/goscheduler"
	"time"
)

func main() {
	var scheduler = goscheduler.NewScheduler()
	err := scheduler.Add("My test scheduler", time.Second, func(ctx goscheduler.Context) (bool, error) {
		fmt.Println("Scheduler name:", ctx.SchedulerEntity().Name)
		return true, nil
	})
	if err != nil {
		panic(err)
	}

	err = scheduler.Start(context.Background())
	if err != nil {
		panic(err)
	}
}