app.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. from flask import Flask, jsonify, request
  2. from flask.ext.sqlalchemy import SQLAlchemy
  3. from random import randint
  4. app = Flask(__name__)
  5. app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://benchmarkdbuser:benchmarkdbpass@DBHOSTNAME:3306/hello_world'
  6. db = SQLAlchemy(app)
  7. class World(db.Model):
  8. __tablename__ = "World"
  9. id = db.Column(db.Integer, primary_key=True)
  10. randomNumber = db.Column(db.Integer)
  11. # http://stackoverflow.com/questions/7102754/jsonify-a-sqlalchemy-result-set-in-flask
  12. @property
  13. def serialize(self):
  14. """Return object data in easily serializeable format"""
  15. return {
  16. 'id' : self.id,
  17. 'randomNumber': self.randomNumber
  18. }
  19. @app.route("/json")
  20. def hello():
  21. resp = {"message": "Hello, World!"}
  22. return jsonify(resp)
  23. @app.route("/db")
  24. def get_random_world():
  25. num_queries = request.args.get("queries", 1)
  26. worlds = []
  27. for i in range(int(num_queries)):
  28. wid = randint(1, 10000)
  29. worlds.append(World.query.get(wid).serialize)
  30. return jsonify(worlds=worlds)
  31. if __name__ == "__main__":
  32. app.run()