UWSGI подключен к приложению с колбой для UNIX-сокета:
NGINX (СЛУШАТЬ В ПОРТ 80) <-> UWSGI (LISTER PERL UNIX-SOCKER) <-> FLASK-APP
Я инициализировал кеш uwsgi для обработки глобальных данных.
Я хочу обработать кеш с помощью пакета python-кеширования пакета.
Я пытаюсь запустить экземпляр Cache с правильным адресом кэша. Кажется, что-то не так.
Я думаю, что параметры для app.run () не имеют отношения к uwsgi.
Если я устанавливаю запись в кеше, она всегда возвращает None:
app.route("/")
def test():
cache.set("test", "OK", timeout=0)
a = cache.get("test")
return a
main.py
from flask import Flask
from flask_caching import Cache
app = Flask(__name__)
# Check Configuring Flask-Caching section for more details
cache = Cache(app, config={'CACHE_TYPE': 'uwsgi', 'CACHE_UWSGI_NAME':'mycache@localhost'})
if __name__ == "__main__":
app.run(host="0.0.0.0", port=5000)
uwsgi.ini
[uwsgi]
module = main
callable = app
cache2 = name=mycache,items=100
nginx.conf
server {
listen 80;
location / {
try_files $uri @app;
}
location @app {
include uwsgi_params;
uwsgi_pass unix:///tmp/uwsgi.sock;
}
location /static {
alias /app/testapp/static;
}
}
Я работаю со сборкой докера с https://github.com/tiangolo/uwsgi-nginx-flask-docker. Приложение работает, ожидайте кеш.