package main

import (
	"gitlab.fjmaimaimai.com/allied-creation/performance/pkg/constant"
	"time"

	"github.com/beego/beego/v2/server/web"
	serviceTask "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/node_task"
	"gitlab.fjmaimaimai.com/allied-creation/performance/pkg/log"
	_ "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/port/beego"
	"gitlab.fjmaimaimai.com/allied-creation/performance/pkg/port/consumer"
)

func main() {
	startNodeTask()

	// tree := web.PrintTree()
	// methods := tree["Data"].(web.M)
	// for k, v := range methods {
	// 	fmt.Printf("%s => %v \n", k, v)
	// }
	go consumer.Run()
	web.Run()
}

// 定时任务-间隔发送评估环节
func startNodeTask() {
	go func() {
		nodeTaskService := serviceTask.NewNodeTaskService()
		for {
			var duration time.Duration
			if constant.Env == "prd" {
				duration = time.Minute * 5
			} else {
				duration = time.Minute * 1
			}
			timer := time.NewTimer(duration)
			<-timer.C
			if err := nodeTaskService.SendEvaluationNode(); err != nil {
				log.Logger.Error(err.Error())
			}
		}
	}()
}