orbis/internal/app/app.go
kjuulh cda23ebd12
All checks were successful
continuous-integration/drone/push Build is passing
feat: add executor (#3)
Adds an executor which can process and dispatch events to a set of workers.
Co-authored-by: kjuulh <contact@kjuulh.io>
Co-committed-by: kjuulh <contact@kjuulh.io>
2025-01-09 22:49:43 +01:00

31 lines
581 B
Go

package app
import (
"log/slog"
"git.front.kjuulh.io/kjuulh/orbis/internal/executor"
"git.front.kjuulh.io/kjuulh/orbis/internal/scheduler"
)
type App struct {
logger *slog.Logger
}
func NewApp() *App {
return &App{
logger: setupLogging(),
}
}
func (a *App) Logger() *slog.Logger {
return a.logger
}
func (a *App) Scheduler() *scheduler.Scheduler {
return scheduler.NewScheduler(a.logger.With("component", "scheduler"), Postgres(), a.Executor())
}
func (a *App) Executor() *executor.Executor {
return executor.NewExecutor(a.logger.With("component", "executor"))
}