Symfoware

Symfowareについての考察blog

APIフレームワークFalconをbjoernで動作させる

Falcon
http://falconframework.org/

このフレームワークを高速軽量なwsgi実装「bjoern」で動かしてみます。
https://github.com/jonashaag/bjoern


bjoernのインストール



今回はDebian 8にインストールしてみました。

インストールは、過去Bottleを動作させた時の記事
高速軽量なPython WSGI Server「bjoern」でBottleフレームワークを動かす

これと、インストールのドキュメントを参考にしました。
https://github.com/jonashaag/bjoern/wiki/Installation


まず、必要なライブラリをインストール。


# apt-get install python-dev libev-dev




bjoernはeasy_installでインストールしました。


# easy_install bjoern



バージョン1.4.3がインストールできました。




サンプルプログラム



Python + Falconで高速APIサーバーを作成する
こちらで使用したサンプルを変更して試してみます。


  1. # -*- coding:utf-8 -*-
  2. import json
  3. import falcon
  4. class HelloResource(object):
  5.     
  6.     # getされた時の動作
  7.     def on_get(self, req, res):
  8.         msg = {
  9.             "message": "Welcome to the Falcon"
  10.         }
  11.         res.body = json.dumps(msg)
  12. app = falcon.API()
  13. app.add_route("/", HelloResource())
  14. if __name__ == "__main__":
  15.     #from wsgiref import simple_server
  16.     #httpd = simple_server.make_server("0.0.0.0", 8000, app)
  17.     #httpd.serve_forever()
  18.     
  19.     import bjoern
  20.     bjoern.run(app, "0.0.0.0", 8000, reuse_port=True)




動作確認用のプログラムです。


  1. # -*- coding:utf-8 -*-
  2. import json
  3. import urllib2
  4. url = 'http://192.168.1.102:8000'
  5. response = urllib2.urlopen(url)
  6. # 戻り値を解析
  7. body = response.read()
  8. response.close()
  9. data = json.loads(body)
  10. print(data['message'])




動いてくれているようです。


$ python api_test.py
Welcome to the Falcon




関連記事

テーマ:プログラミング - ジャンル:コンピュータ

  1. 2016/05/14(土) 22:22:20|
  2. Python
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集
<<PHP file_get_contentsでAPIサーバーにGET,POST,画像アップロード | ホーム | Falcon JSON形式のAPIとしてのカスタマイズ(リクエスト処理前にデータ加工)>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://symfoware.blog68.fc2.com/tb.php/1884-57df125f
この記事にトラックバックする(FC2ブログユーザー)