Каков срок службы класса ресурсов Flask-RESTPlus?

#flask-restplus #flask-restx

Вопрос:

В принципе, мне нужно знать, могу ли я использовать @functools.cached_property подкласс Flask- Resource RESTPlus для кэширования дорогостоящей операции или совместной конструкции, которая не должна сохраняться после одного запроса.

Я думаю, что есть две возможности:

  1. Экземпляр Resource подкласса создается заново для каждого HTTP-запроса, направленного на этот ресурс.
  2. Экземпляр Resource подкласса создается один раз при создании API и повторном использовании для каждого запроса, направленного на этот ресурс в течение всего срока службы API.

Кэширование объекта/экземпляра будет работать только в случае 1. @cached_property по сути, это переменная экземпляра, вычисляемая с помощью ленивых вычислений, ее значение вычисляется при первом использовании и сохраняется в переменной экземпляра, а затем подается из этой переменной при каждом последующем доступе/вызове. Я ожидаю, что механизм на самом деле является дескриптором, но концепция та же самая.

В любом случае, мне нужно другое значение для каждого запроса, мне просто нужно использовать его несколько раз в ходе обработки одного запроса, и мне нужно, чтобы значение было вычислено ровно один раз для этого запроса.

Будет @cached_property ли работать так, как мне нужно, в подклассе Flask-RESTPlus Resource ?