1
+ import logging
1
2
import threading # Module for creating and managing threads; used for thread safety with locking.
2
3
from abc import ABC , abstractmethod
3
4
4
- import loguru # Logging library that simplifies logging setup and usage.
5
5
import numpy as np
6
6
import pyarrow .flight as fl # PyArrow's Flight module to handle gRPC-based data transfer with Arrow.
7
7
@@ -13,7 +13,7 @@ class Server(fl.FlightServerBase, ABC):
13
13
A Flight Server implementation that handles matrix data and performs computations on it.
14
14
"""
15
15
16
- def __init__ (self , host , port , logger = None , ** kwargs ):
16
+ def __init__ (self , host = "0.0.0.0" , port = 8080 , logger = None , ** kwargs ):
17
17
"""
18
18
Initialize the server with the provided host and port, and optionally a logger.
19
19
@@ -22,9 +22,9 @@ def __init__(self, host, port, logger=None, **kwargs):
22
22
:param logger: Optional logger to use for logging messages (defaults to loguru).
23
23
:param kwargs: Additional arguments passed to the FlightServerBase constructor.
24
24
"""
25
- uri = f"grpc+tcp ://{ host } :{ port } "
25
+ uri = f"grpc://{ host } :{ port } "
26
26
super ().__init__ (uri , ** kwargs ) # Initialize the base FlightServer with the URI.
27
- self ._logger = logger or loguru . logger # Use provided logger or default to loguru's logger.
27
+ self ._logger = logger or logging . getLogger ( __name__ ) # Use provided logger or default to loguru's logger.
28
28
self ._storage = {} # Dictionary to store uploaded data associated with specific commands.
29
29
self ._lock = threading .Lock () # Lock for ensuring thread safety when accessing shared resources.
30
30
@@ -101,15 +101,14 @@ def do_get(self, context, ticket):
101
101
return fl .RecordBatchStream (result_table )
102
102
103
103
@classmethod
104
- def start (cls , host = "127 .0.0.1 " , port = 5008 , logger = None , ** kwargs ): # pragma: no cover
104
+ def start (cls , host = "0 .0.0.0 " , port = 8080 , logger = None , ** kwargs ): # pragma: no cover
105
105
"""
106
106
Start the server with the specified port and logger.
107
107
108
108
:param port: The port on which to run the server.
109
109
:param logger: Optional logger to use.
110
110
:param kwargs: Additional arguments passed to the constructor.
111
111
"""
112
- logger = logger or loguru .logger # If no logger is provided, use loguru's default logger.
113
112
server = cls (host = host , port = port , logger = logger , ** kwargs ) # Instantiate the server.
114
113
server .logger .info (f"Starting { cls } Flight server on port { port } ..." ) # Log the server start.
115
114
server .serve () # Start the server to handle incoming requests.
0 commit comments