config.go 2.2 KB

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