feat: enable worker process
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2025-01-17 20:51:50 +01:00
parent a68eae8519
commit e94271d5e2
16 changed files with 404 additions and 19 deletions

View File

@@ -10,15 +10,16 @@ import (
"git.front.kjuulh.io/kjuulh/orbis/internal/executor"
"github.com/jackc/pgx/v5"
"github.com/jackc/pgx/v5/pgxpool"
)
type Scheduler struct {
logger *slog.Logger
db *pgx.Conn
db *pgxpool.Pool
executor *executor.Executor
}
func NewScheduler(logger *slog.Logger, db *pgx.Conn, executor *executor.Executor) *Scheduler {
func NewScheduler(logger *slog.Logger, db *pgxpool.Pool, executor *executor.Executor) *Scheduler {
return &Scheduler{
logger: logger,
db: db,
@@ -26,6 +27,14 @@ func NewScheduler(logger *slog.Logger, db *pgx.Conn, executor *executor.Executor
}
}
func (s *Scheduler) Start(ctx context.Context) error {
if err := s.Execute(ctx); err != nil {
return fmt.Errorf("execution of scheduler failed: %w", err)
}
return nil
}
func (s *Scheduler) Execute(ctx context.Context) error {
acquiredLeader, err := s.acquireLeader(ctx)
if err != nil {