package lib import ( "log" "github.com/go-co-op/gocron/v2" ) // myCron contains cron handler. var ( myCron gocron.Scheduler ) // RunCron parses config part, related to cron tasks and kicks cron to run. func (c MyConfig) RunCron() { var err error myCron, err = gocron.NewScheduler() if err != nil { log.Printf("Unable to create built-in cron: %s", err) return } for _, job := range c.Cron.Tasks { _, err := myCron.NewJob( gocron.CronJob(job.Time, false), gocron.NewTask( // Сука, просто заспавнить бинарь, ну почему это надо делать через жопу-то? any( func() bool { c.Channels.RunChan <- job.Cmd return true }, ), ), ) if err != nil { log.Printf("Unable to add cron job: %s", err) } } myCron.Start() }