package main import ( "os" "git.ohea.xyz/cursorius/server/config" "git.ohea.xyz/cursorius/server/jobscheduler" "git.ohea.xyz/cursorius/server/listen" "git.ohea.xyz/cursorius/server/poll" "github.com/op/go-logging" ) var log = logging.MustGetLogger("cursorius-server") func main() { var format = logging.MustStringFormatter( `%{color}%{time:15:04:05.000} %{level:.4s}:%{color:reset} %{message}`, ) backend := logging.NewLogBackend(os.Stderr, "", 0) backendFormatter := logging.NewBackendFormatter(backend, format) backendLeveled := logging.AddModuleLevel(backendFormatter) backendLeveled.SetLevel(logging.DEBUG, "") logging.SetBackend(backendLeveled) log.Info("Starting cursorius-server") configData, err := config.GetConfig() if err != nil { log.Errorf("Could not get configuration: %v", err) } runCh, registerCh, err := jobscheduler.StartJobScheduler(configData.Config.Jobs, configData.Config.Runners) if err != nil { log.Errorf("Could not start runner: %v", err) } poll.StartPolling(configData.Config, runCh) listen.Listen(configData.Config.Address, configData.Config.Port, runCh, registerCh, configData.Config) }