package database import ( "errors" "io/fs" "os" "time" ) func isFileExist(fileName string) (bool, error) { _, err := os.Stat(fileName) if err != nil { if errors.Is(err, fs.ErrNotExist) { return false, nil } else { return false, err } } else { return true, nil } } func (s *Database) appendJobToWorkerQueue(job any) { s.mutex.Lock() s.workerQueue = append(s.workerQueue, job) s.mutex.Unlock() select { case s.workerSignalCh <- struct{}{}: default: } } func (s *Database) metricRUnlock(metricID uint32) { s.mutex.Lock() s.rLocksToRelease = append(s.rLocksToRelease, metricID) s.mutex.Unlock() select { case s.workerSignalCh <- struct{}{}: default: } } func correctToFHD(since, until uint32, firstHourOfDay int) (uint32, uint32) { duration := time.Duration(firstHourOfDay) * time.Hour since = uint32(time.Unix(int64(since), 0).Add(duration).Unix()) until = uint32(time.Unix(int64(until), 0).Add(duration).Unix()) return since, until }