scheduler

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Oct 30, 2026 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package scheduler 는 주기 백업과 보존 정책 적용을 돌린다 (B3-1).

설계: docs/11_기능설계/Nullus_백업복구_설계.md §4.5·§8 (nullus-plan#75)

골격은 internal/admin/scheduler/token_rotation.go 를 따른다 — interval / iterTimeout / inFlight 가드 / slog. 새로 만들 이유가 없다.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BackupScheduler

type BackupScheduler struct {
	// contains filtered or unexported fields
}

func New

func New(backup *usecase.BackupUseCase, retention *usecase.RetentionUseCase, cfg Config) *BackupScheduler

func (*BackupScheduler) Start

func (s *BackupScheduler) Start(ctx context.Context)

func (*BackupScheduler) WithBackupSet

func (s *BackupScheduler) WithBackupSet(set SetRunner) *BackupScheduler

WithBackupSet 은 주기 백업을 세트로 바꾼다. nil 이면 바뀌지 않는다.

type Config

type Config struct {
	Interval    time.Duration
	IterTimeout time.Duration
	OrgID       string
	StackID     string
	Namespace   string
	Mode        domain.Mode
	Logger      *slog.Logger
}

type SetRunner

type SetRunner interface {
	Run(ctx context.Context, req usecase.RunBackupSetRequest) (*usecase.BackupSetResult, error)
}

SetRunner 는 세트 백업 유스케이스다(usecase.BackupSetUseCase). 인터페이스인 것은 테스트가 가로채기 위해서다 — 세트 유스케이스는 스택 목록과 스택별 어댑터가 있어야 돈다.

Jump to

Keyboard shortcuts

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