Skip to content

Commit 9d8d3d8

Browse files
feat: Printing more verbose logs when we start the offline server (#4660)
Printing more verbose logs when we start the offline server to address the github issue #4639 Signed-off-by: lrangine <19699092+lokeshrangineni@users.noreply.github.com>
1 parent 764a8a6 commit 9d8d3d8

File tree

1 file changed

+30
-2
lines changed

1 file changed

+30
-2
lines changed

sdk/python/feast/offline_server.py

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
import ast
22
import json
33
import logging
4+
import os
5+
import sys
46
import traceback
57
from datetime import datetime
68
from typing import Any, Dict, List, cast
79

10+
import click
811
import pyarrow as pa
912
import pyarrow.flight as fl
1013
from google.protobuf.json_format import Parse
@@ -503,6 +506,24 @@ def get_table_column_names_and_types_from_data_source(self, command: dict):
503506
)
504507
return pa.table({"name": column_names, "type": types})
505508

509+
def serve(self):
510+
message = "offline server starting with pid: "
511+
logger.info(
512+
message + "[%d]",
513+
os.getpid(),
514+
extra={"color_message": message + "[" + click.style("%d", fg="cyan") + "]"},
515+
)
516+
super().serve()
517+
518+
def shutdown(self):
519+
message = "Sending a shutdown signal to the offline server running with pid:: "
520+
logger.info(
521+
message + "[%d]",
522+
os.getpid(),
523+
extra={"color_message": message + "[" + click.style("%d", fg="cyan") + "]"},
524+
)
525+
super().shutdown()
526+
506527

507528
def remove_dummies(fv: FeatureView) -> FeatureView:
508529
"""
@@ -533,5 +554,12 @@ def start_server(
533554

534555
location = "grpc+tcp://{}:{}".format(host, port)
535556
server = OfflineServer(store, location)
536-
logger.info(f"Offline store server serving on {location}")
537-
server.serve()
557+
try:
558+
logger.info(f"Offline store server serving at: {location}")
559+
server.serve()
560+
except KeyboardInterrupt:
561+
logger.info("KeyboardInterrupt received, stopping the offline server.")
562+
finally:
563+
server.shutdown()
564+
logger.info("offline server stopped.")
565+
sys.exit(0)

0 commit comments

Comments
 (0)