DONT FAIL FOREVER ON 1 BLACKOUT FILE loser

master
bel 2024-11-16 07:30:25 -07:00
parent 03565e4fbc
commit eb12586a40
1 changed files with 34 additions and 29 deletions

View File

@ -115,47 +115,52 @@ func Run(ctx context.Context, args []string) error {
}
return nil
}(); err != nil {
return err
log.Println("failed series", series, ":", err)
}
}
}
for _, cam := range cams {
camMovementD := strings.ReplaceAll(cam, "record", "movement")
if err := func() error {
camMovementD := strings.ReplaceAll(cam, "record", "movement")
movementFiles, err := lsf(camMovementD)
if err != nil {
return err
}
sort.Strings(movementFiles)
var sizeOfCamDMiB int64
for _, movementFile := range movementFiles {
stat, err := os.Stat(movementFile)
movementFiles, err := lsf(camMovementD)
if err != nil {
return err
}
fileSizeMiB := stat.Size() / 1024 / 1024
sizeOfCamDMiB += fileSizeMiB
}
sort.Strings(movementFiles)
GiB100 := int64(100 * 1024)
for sizeOfCamDMiB > GiB100 && len(movementFiles) > 0 {
oldestFile := movementFiles[0]
oldestFileStat, err := os.Stat(oldestFile)
if err != nil {
return err
}
oldestFileSizeMiB := oldestFileStat.Size() / 1024 / 1024
log.Println("deleting old file", oldestFile)
if err := os.Remove(oldestFile); err != nil {
return err
var sizeOfCamDMiB int64
for _, movementFile := range movementFiles {
stat, err := os.Stat(movementFile)
if err != nil {
return err
}
fileSizeMiB := stat.Size() / 1024 / 1024
sizeOfCamDMiB += fileSizeMiB
}
sizeOfCamDMiB -= oldestFileSizeMiB
movementFiles = movementFiles[1:]
GiB100 := int64(100 * 1024)
for sizeOfCamDMiB > GiB100 && len(movementFiles) > 0 {
oldestFile := movementFiles[0]
oldestFileStat, err := os.Stat(oldestFile)
if err != nil {
return err
}
oldestFileSizeMiB := oldestFileStat.Size() / 1024 / 1024
log.Println("deleting old file", oldestFile)
if err := os.Remove(oldestFile); err != nil {
return err
}
sizeOfCamDMiB -= oldestFileSizeMiB
movementFiles = movementFiles[1:]
}
return nil
}(); err != nil {
log.Println("failed to cap size of cam", cam, " dir:", err)
}
}