Кеширование - Flask - PullRequest
       3

Кеширование - Flask

0 голосов
/ 05 ноября 2018

Я написал приложение Python Flask для различных задач обработки изображений. Кажется излишним публиковать одно и то же изображение снова и снова, если я хочу выполнить несколько задач обработки изображения на одном изображении. Поэтому мне было интересно, могу ли я включить в свое приложение какой-нибудь кеш, в котором хранятся последние 10 опубликованных изображений.

import .....

app = Flask(__name__)

@app.route('/processing/task1', methods=["POST"])
def task1():
...
return

@app.route('/processing/task2', methods=["POST"])
def task2():
...
return

@app.route('somethingcompletelydifferent', methods=["POST"])
def different():
...
return

if __name__ == '__main__':
app.run(debug=config.app['debug'], port=config.app['port'], host=config.app['host'])

Моя цель была бы такова, когда я бегу

answer = requests.post("http://localhost:5000/processing/task1", files=arg).content

изображение, содержащееся в аргументе arg, передается только в том случае, если оно (еще / некоторое время) не было передано. Есть ли способ сделать это в приложении? Я сейчас в замешательстве и не могу понять, как это сделать - возможно, потому, что мне не хватает некоторых терминов и базовых знаний в этой области, и я не могу эффективно их погуглить ... Спасибо!

(я использую Python 3.7)

1 Ответ

0 голосов
/ 05 ноября 2018

Вы можете использовать lrucache для этого

from functools import lru_cache

@lru_cache(maxsize=32)
def process():
   # ur code 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...