package internal import ( "time" "git.sr.ht/~erock/wish/cms/db" ) func deleteExpiredPosts(dbpool db.DB) error { now := time.Now() // delete posts that are older than three days expired := now.AddDate(0, 0, -3) posts, err := dbpool.FindPostsBeforeDate(&expired) if err != nil { return err } postIds := []string{} for _, post := range posts { postIds = append(postIds, post.ID) } err = dbpool.RemovePosts(postIds) if err != nil { return err } return nil } func CronDeleteExpiredPosts(dbpool db.DB) { for { deleteExpiredPosts(dbpool) time.Sleep(1 * time.Hour) } }