[PYTHON] Redis sur Heroku

-Essayez d'exécuter le programme créé dans Article précédent (Redis sur Mac) sur heroku.

Structure du programme

.
├── Procfile
├── __pycache__
├── app.py
├── bin
├── include
├── lib
├── pip-selfcheck.json
├── requirements.txt
└── runtime.txt

requirements.txt

click==6.7
Flask==0.12.2
gunicorn==19.7.1
itsdangerous==0.24
Jinja2==2.9.6
MarkupSafe==1.0
redis==2.10.5
Werkzeug==0.12.2

runtime.txt

python-3.6.0

Procfile

web: gunicorn app:app --log-file -

Heroku Redis

Mise en garde!

Paramètres du plugin

--Utilisez heroku cli. Vous pouvez également le faire sur la console Web.

% heroku plugins:install heroku-redis                                                                                Installing plugin heroku-redis... done
% heroku config -a APP_NAME
=== APP_NAME Config Vars
LANG:      ja_JP.utf8
REDIS_URL: redis://h:pc16fb4fb5781c56263fe9b8ac2〜〜〜2980da@ec2-34-〜〜〜.compute-1.amazonaws.com:9289
TZ:        Asia/Tokyo

--LANG et TZ sont réglés séparément. Le point est la variable d'environnement appelée REDIS_URL.

Code source

app.py


import os
import sys
import redis
import random
from flask import Flask
from datetime import datetime as dt

app = Flask(__name__)

#S'il se trouve dans le chemin de connexion ou dans la variable d'environnement, il a la priorité
REDIS_URL = os.environ.get('REDIS_URL') if os.environ.get(
    'REDIS_URL') != None else 'redis://localhost:6379'
#Spécifier la base de données
DATABASE_INDEX = 1  #Osez 1 au lieu de 0
#Obtenez-en un dans le pool de connexions
pool = redis.ConnectionPool.from_url(REDIS_URL, db=DATABASE_INDEX)
#Utiliser la connexion
r = redis.StrictRedis(connection_pool=pool)

@app.route('/')
def root():
    return '{"status":"OK"}'

@app.route('/get')
def get():
    n = random.randrange(len(r.keys()))
    key = r.keys()[n]
    return str(r.get(key))

@app.route('/set')
def set():
    tdatetime = dt.now()
    key = tdatetime.strftime('%Y-%m-%d %H:%M:%S')
    r.set(key, {'val': key})
    return '{"action":"set"}'

if __name__ == '__main__':
    app.run(threaded=True)

Recommended Posts

Redis sur Heroku
shimehari sur heroku
Déployer l'application Masonite sur Heroku 2020
Utilisez Numpy, Scipy, scikit-learn avec Heroku
Déployer l'application Django sur Heroku
python + django + scikit-learn + mecab (1) avec heroku
Comment exécuter matplotlib sur heroku
python + django + scikit-learn + mecab (2) avec heroku
Page DJango publiée sur heroku: Practice
Déployer l'application Flask sur heroku (amer)
Python json.loads () renvoie str dans Heroku
Déployez l'application Flask sur Heroku
Déployez l'application Flask sur heroku
Blog Django sur heroku: implémentation de la connexion
Exécutez régulièrement Python sur Heroku Scheduler
Déployer l'API Django avec heroku (mémo personnel)
Déployer l'application Django sur Heroku [Partie 2]
Déployer l'application Django sur Heroku [Partie 1]
Ecrire des graphiques SVG avec matplotlib avec heroku
Changer l'ordre de PostgreSQL dans Heroku
Lancez l'application Flask avec Docker sur Heroku
Un mémo qui a fait un tutoriel pour exécuter python sur heroku
Publication du projet django développé dans Cloud9 sur heroku
J'ai essayé de lancer jupyter nteract sur le serveur heroku
Une histoire sur l'exécution de Python sur PHP sur Heroku
Un mémorandum pour toucher Python Flask avec Heroku
Jusqu'à l'utilisation de PhantomJS avec Python sur Heroku