fix now() InLocation(local), deadline per-one

main
bel 2025-05-17 21:24:32 -06:00
parent 75b7e21bec
commit fe02d1624f
3 changed files with 10 additions and 6 deletions

View File

@ -14,7 +14,7 @@ func Next(ctx context.Context) (time.Time, error) {
} }
if deadline := Deadline(); time.Since(deadline) > time.Minute { if deadline := Deadline(); time.Since(deadline) > time.Minute {
return time.Parse("2006-01-02", time.Now().Add(24*time.Hour).Format("2006-01-02")) return midnightLastNight().Add(24 * time.Hour), nil
} }
type Did struct { type Did struct {

View File

@ -3,9 +3,13 @@ package asses
import "time" import "time"
func Deadline() time.Time { func Deadline() time.Time {
midnightLastNight, err := time.Parse("2006-01-02", time.Now().Format("2006-01-02")) return midnightLastNight().Add(8 * time.Hour) // midnight-8AM
}
func midnightLastNight() time.Time {
t, err := time.ParseInLocation("2006-01-02", time.Now().Format("2006-01-02"), time.Local)
if err != nil { if err != nil {
panic(err) panic(err)
} }
return midnightLastNight.Add(8 * time.Hour) // midnight-8AM return t
} }

View File

@ -17,13 +17,13 @@ var rootDs = []string{
type CB func(context.Context, string) error type CB func(context.Context, string) error
func Main(ctx context.Context) error { func Main(ctx context.Context) error {
ctx, can := context.WithDeadline(ctx, asses.Deadline())
defer can()
return cron.Cron(ctx, asses.Next, One) return cron.Cron(ctx, asses.Next, One)
} }
func One(ctx context.Context) error { func One(ctx context.Context) error {
ctx, can := context.WithDeadline(ctx, asses.Deadline())
defer can()
return OneWith(ctx, rootDs, asses.One) return OneWith(ctx, rootDs, asses.One)
} }