Cette nouvelle plateforme se veut polyglotte, et donc, après Ruby on Rails, Node.js et Clojure, c'est maintenant Python et son framework phare django qui sont supportés!
Installation de heroku
$ gem install heroku
Application basique
On va écrire une application la plus simple possible, le but n'étant pas d'apprendre le python, donc un "hello world" fera parfaitement l'affaire.requirements.txt
Flask==0.7.2
app.py
import os from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "Hello from Python!" if __name__ == "__main__": port = int(os.environ.get("PORT", 5000)) app.run(host='0.0.0.0', port=port)
Déclaration des "process types" with Foreman/Procfile
Pour exécuter l'application, nous devons déclarer la commande à utiliser pour la lancer, donc simplement lancer notre script.Dans le fichier Procfile :
web: python app.py
On peut donc maintenant lancer l'appli avec Foreman
$ gem install foreman $ foreman start 14:39:04 web.1 | started with pid 24384 14:39:04 web.1 | Listening on 5000
L'application est donc accessible sur le port 5000.
Déploiement
Heroku nécessitant git, la première chose à faire est de versionner l'application :$ git init Initialized empty Git repository in .git/ $ git add . $ git commit -m "new app" Created initial commit 5df2d09: new app
Ensuite, il faut créer l'application Heroku sur la plateforme, via l'api en ligne de commande :
$ heroku create --stack cedar Creating young-fire-2556... done, stack is cedar http://young-fire-2556.herokuapp.com/ | git@heroku.com:young-fire-2556.git Git remote heroku added
Une application appname vierge nous attend donc chez Heroku, il suffit de pousser notre application avec git pour la voir en ligne immédiatement :
Heroku receiving push -----> Python app detected -----> Preparing virtualenv version 1.6.1 New python executable in ./bin/python2.7 Also creating executable in ./bin/python Installing setuptools............done. Installing pip...............done. -----> Installing dependencies using pip version 1.0.1 Downloading/unpacking Flask==0.7.2 (from -r requirements.txt (line 1)) ... Successfully installed Flask Werkzeug Jinja2 Cleaning up... -----> Discovering process types Procfile declares types -> web -----> Compiled slug size is 3.5MB -----> Launching... done, v2 http://young-fire-2556.herokuapp.com deployed to Heroku To git@heroku.com:young-fire-2556.git * [new branch] master -> master
Avant de voir notre application en ligne, il faut la scaler :
Before looking at the app on the web, we’ll need to scale the web process:
$ heroku ps:scale web=1 Scaling web processes... done, now running 1 Now, let’s check the state of the app’s processes: $ heroku ps Process State Command ------------ ------------------ -------------------------------------------- web.1 up for 10s node web.js The web process is up. Review the logs for more information: $ heroku logs 2011-03-10T10:22:30-08:00 heroku[web.1]: State changed from created to starting 2011-03-10T10:22:32-08:00 heroku[web.1]: Running process with command: `node web.js` 2011-03-10T10:22:33-08:00 heroku[web.1]: Listening on 18320 2011-03-10T10:22:34-08:00 heroku[web.1]: State changed from starting to up
Tout est ok, notre app est accessible, on peut l'ouvrir via un simple heroku open.
RTP-high 96.8% - Casino Poker Forums
RépondreSupprimerI was playing 사이트추천 a bet365es lot of poker, and I was able to 개집 왕 do a very good job of 돌겠네 진짜 matching the odds. I won a lot of money on slots, 룰렛 판 especially poker