refactor out cronning
This commit is contained in:
@@ -4,34 +4,11 @@ import (
|
||||
"context"
|
||||
"io"
|
||||
"show-rss/src/asses"
|
||||
"time"
|
||||
"show-rss/src/cron"
|
||||
)
|
||||
|
||||
func Main(ctx context.Context) error {
|
||||
next, err := asses.Next(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
c := time.NewTicker(3 * time.Hour)
|
||||
defer c.Stop()
|
||||
for {
|
||||
select {
|
||||
case <-ctx.Done():
|
||||
case <-c.C:
|
||||
case <-time.After(time.Until(next)):
|
||||
}
|
||||
|
||||
if err := One(ctx); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
next, err = asses.Next(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return ctx.Err()
|
||||
return cron.Cron(ctx, asses.Next, One)
|
||||
}
|
||||
|
||||
func One(ctx context.Context) error {
|
||||
|
||||
Reference in New Issue
Block a user