Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
format feature_server.py
Signed-off-by: snowron <snowronark@gmail.com>
  • Loading branch information
snowron committed Sep 12, 2023
commit 0dbf03a1e4a535def16f201b16e4c81d771ef5c5
21 changes: 13 additions & 8 deletions sdk/python/feast/feature_server.py
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
import json
import traceback
from typing import List, Optional
import warnings
from typing import List, Optional

import gunicorn.app.base
import pandas as pd
from dateutil import parser
from fastapi import FastAPI, HTTPException, Request, Response, status
from fastapi.logger import logger
from fastapi.params import Depends
from google.protobuf.json_format import MessageToDict, Parse
from pydantic import BaseModel

import feast
from feast import proto_json
from feast import proto_json, utils
from feast.data_source import PushMode
from feast.errors import PushSourceNotFoundException
from feast.protos.feast.serving.ServingService_pb2 import GetOnlineFeaturesRequest
from dateutil import parser
from feast import utils


# TODO: deprecate this in favor of push features
class WriteToFeatureStoreRequest(BaseModel):
Expand All @@ -38,6 +38,7 @@ class MaterializeRequest(BaseModel):
end_ts: str
feature_views: Optional[List[str]] = None


class MaterializeIncrementalRequest(BaseModel):
end_ts: str
feature_views: Optional[List[str]] = None
Expand Down Expand Up @@ -150,8 +151,11 @@ def health():
def materialize(body=Depends(get_body)):
try:
request = MaterializeRequest(**json.loads(body))
store.materialize(utils.make_tzaware(parser.parse(request.start_ts)), utils.make_tzaware(
parser.parse(request.end_ts)), request.feature_views)
store.materialize(
utils.make_tzaware(parser.parse(request.start_ts)),
utils.make_tzaware(parser.parse(request.end_ts)),
request.feature_views,
)
except Exception as e:
# Print the original exception on the server side
logger.exception(traceback.format_exc())
Expand All @@ -162,8 +166,9 @@ def materialize(body=Depends(get_body)):
def materialize_incremental(body=Depends(get_body)):
try:
request = MaterializeIncrementalRequest(**json.loads(body))
store.materialize_incremental(utils.make_tzaware(
parser.parse(request.end_ts)), request.feature_views)
store.materialize_incremental(
utils.make_tzaware(parser.parse(request.end_ts)), request.feature_views
)
except Exception as e:
# Print the original exception on the server side
logger.exception(traceback.format_exc())
Expand Down