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を書く感覚でサクサク書けたりするので表現の幅がとても広がりますね!