You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

116 lines
5.1 KiB

2 months ago
package main
import (
"flag"
"wss-pool/cmd/servicemanager"
"wss-pool/cmd/websocketcollect/forex"
"wss-pool/cmd/websocketcollect/us"
"wss-pool/config"
"wss-pool/internal/data/business"
"wss-pool/logging/applogger"
"wss-pool/pkg/model"
)
var (
BuildTime string
configName = flag.String("config", "./config/config.yaml", "choose service")
// service selection
checkInt = flag.String("check", "gin", "choose service")
// Service Method Selection
checkStr = flag.String("model", "spots", "choose service")
// Service IP and Port Configuration [10.148.0.7,10.148.0.5]
ipServer = flag.String("hostS", "0.0.0.0", "Server distribution IP")
addrServer = flag.String("addrS", ":8861", "Server distribution Post")
contractCode = flag.String("contract", "", "Server distribution Post")
project = flag.String("project", "", "Server distribution project")
stockTs = flag.Int64("stockTs", 0, "")
)
func init() {
applogger.Info("build time:", BuildTime)
flag.Parse()
config.LoadConfig(*configName)
}
func main() {
applogger.Info("gather service start")
applogger.Info("intService---checkBool:%v,ginIp:%v,ginPost:%v,checkStr:%v", *checkInt, *ipServer, *addrServer, *checkStr)
switch *checkInt {
case model.Gin: // Http查询服务
servicemanager.GinServer(*ipServer, *addrServer, *checkInt, *project)
case model.Gather: // 源订阅-火币市场行情采集
servicemanager.Gather(*checkStr, *ipServer, *addrServer)
case model.CurrencyWss: // 项目-行情Wss订阅
servicemanager.Currency(*ipServer, *addrServer)
case model.CollectUs: // 美股-行情采集分发
us.SubscribeShareUs(*ipServer, *addrServer)
case model.GatherUs: // 项目-美股市场行情采集
servicemanager.GatherUS(*checkStr, *ipServer, *addrServer)
case model.CollectForex: // 外汇-行情采集分发
forex.SubscribeForex(*ipServer, *addrServer)
case model.GatherForex: // 项目-外汇市场行情采集
servicemanager.GatherForex(*checkStr, *ipServer, *addrServer)
case model.ShareWss: // 股票市场-行情Wss订阅
servicemanager.ShareWss(*ipServer, *addrServer)
case model.PinWs: // 股票市场-插针行情Wss订阅
servicemanager.PinWs(*ipServer, *addrServer)
case model.TickDB: // 数字币|股票(mongodb)-数据优化
servicemanager.TickDB(*checkStr, *ipServer, *addrServer, *contractCode)
case model.SelfContract: // 合约服务
servicemanager.SelfContract(*checkStr, *ipServer, *addrServer, *contractCode)
case model.SelfMarketSpot: // 现货服务
servicemanager.SelfMarketSpot(*checkStr, *ipServer, *addrServer, *contractCode)
case model.StockIndex: // 指数服务
servicemanager.GinServer(*ipServer, *addrServer, *checkInt, *project)
case model.IndiaOption: // 印度期权服务
servicemanager.GinServer(*ipServer, *addrServer, *checkInt, *project)
case model.USStock: // 美股服务
servicemanager.GinServer(*ipServer, *addrServer, *checkInt, *project)
case model.IndonesiaStock: // 印尼股服务
servicemanager.GinServer(*ipServer, *addrServer, *checkInt, *project)
case model.ThailandStock: // 泰股服务
servicemanager.GinServer(*ipServer, *addrServer, *checkInt, *project)
case model.IndiaStock: // 印度股服务
servicemanager.GinServer(*ipServer, *addrServer, *checkInt, *project)
case model.MalaysiaStock: // 马来西亚股服务
servicemanager.GinServer(*ipServer, *addrServer, *checkInt, *project)
case model.HongKongStock: // 港股服务
servicemanager.GinServer(*ipServer, *addrServer, *checkInt, *project)
case model.SingaporeStock: // 新加坡股服务
servicemanager.GinServer(*ipServer, *addrServer, *checkInt, *project)
case model.UKStock: // 英股服务
servicemanager.GinServer(*ipServer, *addrServer, *checkInt, *project)
case model.GermanyStock: // 德股服务
servicemanager.GinServer(*ipServer, *addrServer, *checkInt, *project)
case model.FranceStock: // 法股服务
servicemanager.GinServer(*ipServer, *addrServer, *checkInt, *project)
case model.BrazilStock: // 巴西股服务
servicemanager.GinServer(*ipServer, *addrServer, *checkInt, *project)
case model.JapanStock: // 日本股服务
servicemanager.GinServer(*ipServer, *addrServer, *checkInt, *project)
case model.StockData: // mongodb-倒数据
business.SymbolToStock(*project)
case model.StockDataUs: // mongodb-倒数据
business.SymbolToStockList(*project)
case model.StockDataInfo: // mongodb-倒详情数据
business.SymbolToStockInfo(*project)
case model.StockDataNews: // 股票市场数据更新
business.SymbolNews(*project)
case model.StockCode: // 更新股票市场代码列表(老版本)
business.SymbolCode(*project)
case model.DelOptionHash: // 删除期权hash
business.DelOptionHash()
case model.SendIndiaInfo: // 发送给PHP印度股票信息
business.SendIndiaInfo()
case model.MalaysiaStockUpdate: // 新增马来西亚数字代码
business.MalaysiaStockUpdate()
case model.DeleteIndia: // 清理印度市场后台没有权限的股票(优化印度股票k线-mongodb压力)
business.DeleteSpotDay(*project, *stockTs)
case model.ForexToExcel: // 导出外汇股票代码
business.TickerToExcel()
default:
applogger.Debug("Please select the startup ID......")
}
}