app

package
v0.0.0-...-1e0776f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 20, 2026 License: MIT Imports: 25 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func InitScheduler

func InitScheduler(deps SchedulerDeps) (*appscheduler.Service, error)

InitScheduler creates and configures the new scheduler service.

func RegisterAllTasks

func RegisterAllTasks(ctx context.Context, svc *scheduler.Service, deps *scheduler.RuntimeDeps) error

RegisterAllTasks registers all discovered scheduled tasks.

Types

type Container

type Container struct {
	// HTTP Server
	Server *api.Server

	// Background services
	SchedulerService *appscheduler.Service
	TranscodeQueue   *transcode.Queue
	Services         *services.Services

	// Use cases (exposed for startup tasks)
	UseCases *usecases.UseCases

	// Lifecycle manager for server restart
	LifecycleMgr *lifecycle.Manager
	// contains filtered or unexported fields
}

Container holds all application dependencies

func NewContainer

func NewContainer(db *sql.DB, dbDriver string, cfg *appconfig.Config, logger *slog.Logger) *Container

NewContainer creates and wires up all application dependencies

func (*Container) Shutdown

func (c *Container) Shutdown(ctx context.Context) error

Shutdown gracefully shuts down all container services

func (*Container) StartBackgroundServices

func (c *Container) StartBackgroundServices(ctx context.Context)

StartBackgroundServices starts all background services after the HTTP server is listening. This ensures the UI is accessible even while heavy background tasks (like enrichment pipeline catchup) are running.

type SchedulerDeps

type SchedulerDeps struct {
	DB       *sql.DB
	DBDriver string
	Config   *appconfig.Config
	Cases    *usecases.UseCases
	Svcs     *services.Services
	Repos    *repositories.Repositories
	Logger   *slog.Logger
}

SchedulerDeps holds dependencies for scheduler initialization.

Directories

Path Synopsis
Package lifecycle provides server lifecycle management including graceful restart.
Package lifecycle provides server lifecycle management including graceful restart.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL