Я работаю над веб-API Python, используя FastAPI
.
В настоящее время это очень маленькое приложение, но я ожидаю, что в ближайшие несколько месяцев в нем будет несколько сотен routes
и services
.
Это пример route
у меня есть:
my_service_1 = MyService1()
my_service_2 = MyService2()
@router.get("/route-1")
def route_1():
# Do something with the services
@router.get("/route-2")
def route_2():
# Do something with the services
@router.get("/route-3")
def route_3():
# Do something with the services
Я оставил объявление сервисов вверху файла для удобства, чтобы все маршруты в файле могли легко их использовать.
Мой вопрос заключается в том, что с сотнями таких файлов, как только приложение запустится, все маршруты будут зарегистрированы, поэтому будут созданы экземпляры всех служб. Это плохая идея? Не приведет ли это к слишком большому использованию памяти, учитывая, что все службы теперь загружены в память?
Будет ли что-то подобное лучше с точки зрения производительности/использования памяти?
@router.get("/route-1")
def route_1():
my_service_1 = MyService1()
my_service_2 = MyService2()
# Do something with the services
@router.get("/route-2")
def route_2():
my_service_1 = MyService1()
my_service_2 = MyService2()
# Do something with the services
@router.get("/route-3")
def route_3():
my_service_1 = MyService1()
my_service_2 = MyService2()
# Do something with the services
Пожалуйста, простите меня, если это не pythonic способ сделать что-то, я пришел из C#.