diff --git a/cmd/twsereport/main.go b/cmd/twsereport/main.go index ed4aae6..5899e8f 100644 --- a/cmd/twsereport/main.go +++ b/cmd/twsereport/main.go @@ -88,9 +88,11 @@ func (c *checkGroupList) Add(f checkGroup) { var wg sync.WaitGroup var twseNo = flag.String("twse", "", "上市股票代碼,可使用 ',' 分隔多組代碼,例:2618,2329") var twseCate = flag.String("twsecate", "", "上市股票類別,可使用 ',' 分隔多組代碼,例:11,15") +var ncpu = flag.Int("ncpu", runtime.NumCPU(), "指定 CPU 數量,預設為實際 CPU 數量") var ckList = make(checkGroupList, 1) func init() { + runtime.GOMAXPROCS(*ncpu) ckList.Add(checkGroup(check01{})) ckList.Add(checkGroup(check02{})) } @@ -104,17 +106,19 @@ func main() { if *twseCate != "" { l := &twse.Lists{Date: tradingdays.FindRecentlyOpened(time.Now())} - catelist = l.GetCategoryList(*twseCate) - catenolist = make([]string, len(catelist)) - for i, s := range catelist { - catenolist[i] = s.No + + for _, v := range strings.Split(*twseCate, ",") { + catelist = l.GetCategoryList(v) + for _, s := range catelist { + catenolist = append(catenolist, s.No) + } } } if *twseNo != "" { twselist = strings.Split(*twseNo, ",") } - datalist = make([]*twse.Data, len(twselist)+len(catelist)) + datalist = make([]*twse.Data, len(twselist)+len(catenolist)) for i, no := range append(twselist, catenolist...) { datalist[i] = twse.NewTWSE(no, tradingdays.FindRecentlyOpened(time.Now()))