-Essayez d'exécuter le programme créé dans Article précédent (Redis sur Mac) sur heroku.
.
├── Procfile
├── __pycache__
├── app.py
├── bin
├── include
├── lib
├── pip-selfcheck.json
├── requirements.txt
└── runtime.txt
requirements.txt
pip freeze> requirements.txt```.
«Plus précisément, c'est comme suit.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
--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.
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