代码拉取完成,页面将自动刷新
package main
import (
"context"
"fmt"
"gitee.com/info-superbahn-ict/superbahn/internal/supbstrategies/v3_test/strategies"
supbmods "gitee.com/info-superbahn-ict/superbahn/pkg/supbstrategies/supb-modules"
"gitee.com/info-superbahn-ict/superbahn/v3_test/supbenv"
"gitee.com/info-superbahn-ict/superbahn/v3_test/supbenv/log"
"github.com/spf13/cobra"
"github.com/spf13/viper"
"os"
"os/signal"
"path/filepath"
"syscall"
)
func main() {
// enable Ctrl C to quit beautifully
ctx, cancel := context.WithCancel(context.Background())
sig := make(chan os.Signal, 1)
signal.Notify(sig, syscall.SIGINT, syscall.SIGTERM)
go func() {
<-sig
cancel()
}()
//
supbEnv := supbenv.NewSupbEnvs(ctx,"supb.env")
supbMod := supbmods.NewSupbManager(ctx,"supb.mod")
strategy := strategies.NewSupbStrategy(ctx,"supb.strategy")
program := filepath.Base(os.Args[0])
cmd := &cobra.Command{
Use: program,
Short: program + " is manager program execute entry",
RunE: func(cmd *cobra.Command, args []string) error {
vpr := viper.New()
supbEnv.ViperConfig(vpr)
supbMod.ViperConfig(vpr)
strategy.ViperConfig(vpr)
if err:= vpr.BindPFlags(cmd.Flags());err !=nil{
return fmt.Errorf("viper bind pflags %v",err)
}
supbEnv.InitViper(vpr)
supbMod.InitViper(vpr)
strategy.InitViper(vpr)
// this config option
supbEnv.OptionConfig()
supbMod.OptionConfig()
strategy.OptionConfig()
// initialize and run
supbEnv.Initialize(supbenv.WithFormat("json"))
supbMod.Initialize()
strategy.Initialize(strategies.WithRecorder(supbEnv.Recorder()),strategies.WithRPC(supbMod.RPC()))
logger := supbEnv.Logger("supb")
logger.Infof("Initialize finished")
<-ctx.Done()
if err := strategy.Close() ;err !=nil{
logger.Errorf("supb module close %v",err)
}
if err := supbMod.Close() ;err !=nil{
logger.Errorf("supb mod close %v",err)
}
if err := supbEnv.Close() ;err !=nil{
logger.Errorf("supb env close %v",err)
}
return nil
},
}
supbEnv.InitFlags(cmd.Flags())
supbMod.InitFlags(cmd.Flags())
strategy.InitFlags(cmd.Flags())
if err := cmd.Execute(); err != nil {
log.Errorf("command execute %v", err)
cancel()
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。