From a74f741298b29b6e941545f0577af1b5d7c43886 Mon Sep 17 00:00:00 2001 From: bel Date: Sat, 17 May 2025 21:05:19 -0600 Subject: [PATCH] deterministic rand for rescan trheshold per file --- src/asses/one.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/asses/one.go b/src/asses/one.go index 7584bdc..c82566b 100644 --- a/src/asses/one.go +++ b/src/asses/one.go @@ -36,7 +36,15 @@ func One(ctx context.Context, p string) error { return err } - threshold := 20 + rand.Int()%10 + threshold := 20 + rand.New(rand.NewSource(func() int64{ + b := md5.New().Sum([]byte(p)) + var sum int64 + for _, c := range b { + sum += int64(c) + sum *= int64(c) + } + return sum + }())).Int()%10 if daysSince := int(time.Since(last.T).Hours()/24); daysSince > threshold { log.Printf("asses.One(%s) // no modified check as %vd since last check", shortp, daysSince) } else if stat, err := os.Stat(p); err != nil {