Change project layout to make easier debug / tests"

This commit is contained in:
eleksir
2024-09-22 23:52:57 +03:00
parent 9d3bc186cc
commit 4bff21f4c7
112 changed files with 271 additions and 1683 deletions

45
internal/lib/cron.go Normal file
View File

@@ -0,0 +1,45 @@
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 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 Conf.Cron.Tasks {
_, err := myCron.NewJob(
gocron.CronJob(job.Time, false),
gocron.NewTask(
// Сука, просто заспавнить бинарь, ну почему это надо делать через жопу-то?
any(
func() bool {
RunChan <- job.Cmd
return true
},
),
),
)
if err != nil {
log.Printf("Unable to add cron job: %s", err)
}
}
myCron.Start()
}