Добавление прослушивателей событий к конечной точке API и прослушивание каждого запроса, отправленного к ней, как контроPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Добавление прослушивателей событий к конечной точке API и прослушивание каждого запроса, отправленного к ней, как контро

Сообщение Anonymous »

У меня есть следующая конечная точка FastAPI

Код: Выделить всё

#Endpoints
@app.post("/random_endpoint")
def random_endpoint(input_item: str) -> str:
# doing some work
# ...
return input_item

if __name__ == '__main__':
# add event listeners here

# launch server
uvicorn.run(port=4000)

Я хочу сделать так, чтобы при попадании пользователя в эту конечную точку журналы записывались в виде кода состояния ответа или, если в ней возникла ошибка, запускался определенный регистратор. функция, которая отправит его в прослушивающую базу данных.

Код: Выделить всё

def logger(response: Dict[str, str] | Exception):
# posts this response or exception to a database that is meant to store logging
pass
У меня два вопроса. Один Как мне это сделать? и во-вторых, какую хорошую базу данных я могу использовать, которая позволит мне просматривать эти журналы в режиме реального времени.
Я думаю, что могу попробовать использовать подход try-catch.< /p>
Каждый раз, когда ответ генерируется успешно, я могу опубликовать взаимодействие клиент-сервер. Если это не сработает, я могу зарегистрировать возникшую ошибку, что мне кажется хорошей идеей. Все будет работать нормально.
Я также просматривал эту ссылку на Stack Overflow: Как мне создать прослушиватель событий с декораторами в Python?
Что не помогло Для меня это не имеет большого смысла, поскольку у конечной точки уже есть декоратор. Возможно, я неправильно понимаю.

Подробнее здесь: https://stackoverflow.com/questions/790 ... st-sent-to
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»