fix now() InLocation(local), deadline per-one
This commit is contained in:
@@ -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 {
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user