go-web-template/service/service.go

37 lines
653 B
Go
Raw Permalink Normal View History

2024-08-25 16:40:48 +02:00
package service
import (
"sync"
"time"
"git.vbrandl.net/vbrandl/go-web-template/common"
)
type Service struct {
BackgroundJobsStarted bool
ServiceMutex sync.Mutex
StartTime time.Time
Config common.Config
}
func New(config common.Config) *Service {
ser := &Service{
BackgroundJobsStarted: false,
ServiceMutex: sync.Mutex{},
StartTime: time.Now(),
Config: config,
}
ser.StartBackground()
return ser
}
func (ser *Service) StartBackground() {
ser.ServiceMutex.Lock()
defer ser.ServiceMutex.Unlock()
ser.BackgroundJobsStarted = true
// TODO: start jobs
}