package common

import (
	"fmt"
	"github.com/gomodule/redigo/redis"
	"github.com/hibiken/asynq"
	"github.com/spf13/viper"
	"go.uber.org/zap"
	"gorm.io/gorm"
	"sec-cycle-scan/config"
)

var (
	VP            *viper.Viper
	LOG           *zap.Logger
	RootPath      string
	AppEnv        string
	CONFIG        config.Server
	RedisConnPool *redis.Pool
	DB            *gorm.DB
	TimerCli      Timer
	AsynqCli      *asynq.Client
)

func InitComp() error {

	TimerCli = NewTimerTask() //定时任务
	LOG = NewLogger()
	RedisConnPool = InitRedis()
	DB = InitMysql()
	//TimerCli = NewTimerTask()
	//AsynqCli = InitAsynqCli()

	fmt.Println("Basic components initialization completed")
	return nil
}
