42617


Python 3.6.4とFlaskで制作したアプリをherokuにデプロイしたいのですが、その際に必要になるProcfileの書き方がわかりません。  
普段ローカル環境ではmanage.pyに引数としてwebpageと入力したサーバを立ち上げるのですが、その場合Procfileにはどのように記述したらいいのかわかりません。  
解説のページなどを拝見すると  
Procfileを以下のように記述しているのを見かけます。

[code]

    web: gunicorn manage:app --log-file -
    
[/code]

ですが、引数を記述したProcfileを見つける事ができませんでした。

**サーバ起動コマンド**

[code]

    python manage.py webpage
    
[/code]

**manage.py**

[code]

    # -*- 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')
    
[/code]

詳しい方、お力を貸して頂けると幸いです。  
よろしくおねがいします。

追記  
以下のページで  
<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>


CC BY-SA 3.0
2018-03-23T07:40:59.547
42602
2018-03-23T17:42:40.527
2018-03-23T08:12:47.133
22565
22565
question
python python3 heroku foreman
herokuで必要になるProcfile書き方が分からない。


FlaskのドキュメントでGunicornでの起動方法が示されています。  
<http://flask.pocoo.org/docs/0.12/deploying/wsgi-standalone/#gunicorn>

Procfileに次のように記述すれば動作しないでしょうか。

[code]

    web: gunicorn front_processing:app --log-file -
    
[/code]

manage.py で次のようにアプリケーションを起動されているのでfront_processing:appがアプリケーションではないかと推測しました。

[code]

    from front_processing import app
    app.run(debug=True, host='0.0.0.0', port=9000)
    
[/code]


CC BY-SA 3.0
2018-03-23T17:42:40.527
42617
2018-03-23T17:42:40.527
5375
42602
answer