package handler import ( "fmt" "math" "strconv" "time" "github.com/spf13/viper" "git.kplus.net.ua/yevhen/resource-scraper/types/constant" ) func (h *Handler) Prescene() (string, error) { currMinute := time.Now().Minute() levels := viper.GetInt(constant.CfgKeyLevelsToScrape) initPage := strconv.Itoa(currMinute/(60/levels) + 1) pagesToScrape := []string{initPage} if levels > 1 { var q = (60.0 / 100.0) * (100.0 / float64(levels)) minute := float64(currMinute + 1) fmt.Printf("FLOAT: %f, %f, %v\n", minute, q, math.Ceil(minute/q)) hour := time.Now().Hour() + levels page := hour * int(math.Ceil(minute/q)) pagesToScrape = append(pagesToScrape, strconv.Itoa(page)) } if _, err := h.services.Prescene.GetSrrDb(); err != nil { return "ps", fmt.Errorf("getting srr db: %w", err) } if _, err := h.services.Prescene.GetPage(pagesToScrape); err != nil { return "ps", fmt.Errorf("getting page: %w", err) } fmt.Printf("%+v\n", pagesToScrape) return "ps", nil }