Skip to content

Commit e113c76

Browse files
committed
add grpc+http concurrent serving
1 parent 61c8b88 commit e113c76

File tree

1 file changed

+17
-17
lines changed

1 file changed

+17
-17
lines changed

go/main.go

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -45,21 +45,22 @@ func (s *RealServerStarter) StartGrpcServer(fs *feast.FeatureStore, host string,
4545

4646
func main() {
4747
// Default values
48-
serverType := "http"
4948
host := ""
5049
port := 8080
51-
server := RealServerStarter{}
50+
grpcPort := 6565
51+
rServer := RealServerStarter{}
52+
gServer := RealServerStarter{}
5253
// Current Directory
5354
repoPath, err := os.Getwd()
5455
if err != nil {
5556
log.Error().Stack().Err(err).Msg("Failed to get current directory")
5657
}
5758

58-
flag.StringVar(&serverType, "type", serverType, "Specify the server type (http or grpc)")
5959
flag.StringVar(&repoPath, "chdir", repoPath, "Repository path where feature store yaml file is stored")
6060

6161
flag.StringVar(&host, "host", host, "Specify a host for the server")
62-
flag.IntVar(&port, "port", port, "Specify a port for the server")
62+
flag.IntVar(&port, "port", port, "Specify a rest port for the server")
63+
flag.IntVar(&grpcPort, "grpcPort", grpcPort, "Specify a grpc port for the server")
6364
flag.Parse()
6465

6566
repoConfig, err := registry.NewRepoConfigFromFile(repoPath)
@@ -77,19 +78,18 @@ func main() {
7778
log.Fatal().Stack().Err(err).Msg("Failed to get LoggingOptions")
7879
}
7980

80-
// TODO: writeLoggedFeaturesCallback is defaulted to nil. write_logged_features functionality needs to be
81-
// implemented in Golang specific to OfflineStoreSink. Python Feature Server doesn't support this.
82-
if serverType == "http" {
83-
err = server.StartHttpServer(fs, host, port, nil, loggingOptions)
84-
} else if serverType == "grpc" {
85-
err = server.StartGrpcServer(fs, host, port, nil, loggingOptions)
86-
} else {
87-
fmt.Println("Unknown server type. Please specify 'http' or 'grpc'.")
88-
}
89-
90-
if err != nil {
91-
log.Fatal().Stack().Err(err).Msg("Failed to start server")
92-
}
81+
go func() {
82+
err := rServer.StartHttpServer(fs, host, port, nil, loggingOptions)
83+
if err != nil {
84+
log.Fatal().Stack().Err(err).Msg("Failed to start server")
85+
}
86+
}()
87+
go func() {
88+
err := gServer.StartGrpcServer(fs, host, port, nil, loggingOptions)
89+
if err != nil {
90+
log.Fatal().Stack().Err(err).Msg("Failed to start server")
91+
}
92+
}()
9393

9494
}
9595

0 commit comments

Comments
 (0)