All checks were successful
continuous-integration/drone/push Build is passing
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>
31 lines
581 B
Go
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"))
|
|
}
|