config.go 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. package util
  2. import (
  3. "context"
  4. "google.golang.org/grpc"
  5. "google.golang.org/grpc/keepalive"
  6. "gopkg.in/olivere/elastic.v1"
  7. "log"
  8. "net/http"
  9. "sensitiveWords.udp/proto_grpc"
  10. "time"
  11. )
  12. func init() {
  13. log.SetFlags(log.Ldate | log.Ltime | log.Lmicroseconds | log.Lshortfile)
  14. }
  15. func InitC() {
  16. ReadConfig("./config.json", &Config)
  17. if len(Config) == 0 {
  18. log.Fatalln("init config err")
  19. }
  20. QfwMgo85 = &MongodbSim{
  21. MongodbAddr: Config["bidding_mgo_addr"].(string),
  22. Size: IntAll(Config["mongodbPoolSize"]),
  23. DbName: "qfw",
  24. UserName: Config["userName"].(string),
  25. PassWord: Config["passWord"].(string),
  26. }
  27. QfwMgo85.InitPool()
  28. Client_Es, _ = elastic.NewClient(http.DefaultClient, "http://192.168.3.11:9800")
  29. es_type, es_index = Config["es_type"].(string), Config["es_index"].(string)
  30. Fields = Config["fields"].(map[string]interface{})
  31. FindBuyerC, FindAgencyC, FindWinnerC = Config["buyer_c"].(string), Config["agency_c"].(string), Config["winner_c"].(string)
  32. Collection = Config["collection"].(string)
  33. qaddrs := Config["query_addrs"].([]interface{})
  34. for _, v := range qaddrs {
  35. ctx, cancelFunc := context.WithTimeout(context.TODO(), time.Second*5)
  36. defer cancelFunc()
  37. conn, err := grpc.DialContext(ctx, v.(string),
  38. grpc.WithInsecure(),
  39. grpc.WithBlock(),
  40. grpc.WithKeepaliveParams(keepalive.ClientParameters{
  41. Time: 10 * time.Second,
  42. Timeout: 100 * time.Millisecond,
  43. PermitWithoutStream: true}),
  44. )
  45. if err != nil {
  46. log.Fatalf("did not connect: %s %v", v, err)
  47. }
  48. c := proto_grpc.NewSensitiveWordsClient(conn)
  49. _, err = c.Search(ctx, &proto_grpc.Request{})
  50. if err != nil {
  51. log.Fatalln(err)
  52. } else {
  53. QAddrs = append(QAddrs, &c)
  54. }
  55. }
  56. }
  57. var Config map[string]interface{}
  58. var QfwMgo85 *MongodbSim
  59. var Collection string
  60. var Fields map[string]interface{}
  61. var FindBuyerC, FindAgencyC, FindWinnerC string
  62. var QAddrs []*proto_grpc.SensitiveWordsClient
  63. var es_type, es_index string
  64. var Client_Es *elastic.Client