herokuで必要になるProcfile書き方が分からない。
Python 3.6.4とFlaskで制作したアプリをherokuにデプロイしたいのですが、その際に必要になるProcfileの書き方がわかりません。
普段ローカル環境ではmanage.pyに引数としてwebpageと入力したサーバを立ち上げるのですが、その場合Procfileにはどのように記述したらいいのかわかりません。
解説のページなどを拝見すると
Procfileを以下のように記述しているのを見かけます。
web: gunicorn manage:app --log-file -
ですが、引数を記述したProcfileを見つける事ができませんでした。
サーバ起動コマンド
python manage.py webpage
manage.py
# -*- coding: utf-8 -*-
import argparse
__author__ = 'wataru'
if __name__ == '__main__':
#エラーの時にメッセージを表示する。
parser = argparse.ArgumentParser("Runner")
parser.add_argument('action', type=str, nargs=None, help="Select target webpage")
args = parser.parse_args()
if args.action == 'webpage':
from front_processing import app
app.run(debug=True, host='0.0.0.0', port=9000)
else:
raise ValueError('Please add webpage at your command')
詳しい方、お力を貸して頂けると幸いです。
よろしくおねがいします。
追記
以下のページで
https://qiita.com/Shitimi_613/items/6627d0ce042d38b86893
herokuでコマンドを直接実行
heroku run 実行したいコマンドを入力するとheroku側でコマンドを実行できると書いてあるのですが、これを使ってheroku run python manage.py webpage
を実行させればprocfileは必要ないように思えるのですが、このようなことは可能でしょうか?
ただその場合gunicornが実行されないままになるような気がします。
procfileの認識
procfileとはherokuで実行させたいコマンドをあらかじめ記述しておくものと認識しているのですが、その認識であっているのでしょうか?procfileでは普通のコマンドlsやpipインストールなども実行できるのでしょうか?
Procfileというdynosを起動するコマンド宣言するために必要なファイル
下記のサイトでdynosを起動するコマンドをProcfileに記述するためlsやpipなどは実行できそうにないです。
http://kasoutuuka.org/heroku-hello