package job

import (
	"log"

	"github.com/bamzi/jobrunner"
	"github.com/robfig/cron/v3"
)

func Start() {
	jobrunner.Start()
}

func Stop() {
	jobrunner.Stop()
}

func AddJob(spec string, job cron.Job) (cron.EntryID, error) {
	id, err := jobrunner.MainCron.AddJob(spec, job)
	if err != nil {
		log.Println("[error] AddJob failed ", err)
	}
	return id, err
}

func RemoveJob(jobId cron.EntryID) {
	jobrunner.Remove(jobId)
}

type JobRunner func()

func (jr JobRunner) Run() {
	jr()
}
