foo are you, man.

基本的には技術ネタ書きます. 備忘録的な感じで行きます!

HerokuにFlask-SocketIOをデプロイする方法

Webソケットを簡単に扱えるFlask拡張モジュールのFlask-SocketIOをHerokuにデプロイするにはどうしたらいいか色々調べたので忘れない為にも書いておきます。

Flask-SocketIOのGitHubリポジトリのIssuesに答えがありました。
Broken with gunicorn #16
Herokuにデプロイする際に同梱するProcfileに

web: gunicorn --worker-class socketio.sgunicorn.GeventSocketIOWorker module:app

を書きます。ただしmoduleとなっている部分はスクリプトファイルの名前を指定します。hoge.pyならmoduleの部分はhogeとなります。
それと恐らくmodule:appのappの部分はFlaskのインスタンス名だと思います。(伝統的にFlaskはappを使うから特に問題は無いかも…?)
それとrequirements.txtには忘れずにgunicornを追加してください。

こんな感じで上手く行けばHerokuでFlask-SocketIOが動くと思います。チャットとかFlaskを書く感覚でサクサク書けたりするので表現の幅がとても広がりますね!