Prockfileで起動アプリ指定したのに起動しなかった

はじめに

PythonアプリをHerokuにデプロイした際にアプリが上手く立ち上がってくれなかったので調べた結果を載せておきます。

やったこと

起動にProckfileを使用
WSGIはgunicornを使いました。

Prockfileの中身

web: gunicorn app:server --log-file -

view.pyのserver変数に設定したアプリを起動する設定。
これが動かない。

原因

フォルダ構成が良くなかった。
上記のProckfileの書き方だとプロジェクトディレクトリの直下にapp.pyが無いと動かない。
私の環境の場合、プロジェクトディレクトリ直下に「app」というディレクトリの配下にapp.pyを作っていたため、
先のProckfileの書き方ではapp下のapp.pyが認識できなかったようです。

どうしたか

chdirオプションをつけてあげればOK
--chdir でapp.pyが存在するパスを指定してあげる。

web: gunicorn app:server --chdir app/ --log-file -

これで問題なく起動ができました。