質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

2610閲覧

Heroku x Flask "H10"のエラー

Saaaya11

総合スコア2

Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/09/03 01:45

現状

個人利用程度ですが,Flaskを使ったweb applicationの開発をしています。
先日,アップデートを行って,ローカルで成功したのでHerokuにデプロイしました。そこまではいいものの,heroku openしたときに,次のようなエラーが発生し,アプリがクラッシュしてしまいました。

発生している問題・エラーメッセージ

2020-09-03T00:57:56.251097+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=XXXX.herokuapp.com request_id=ReqID1 fwd="FWD" dyno= connect= service= status=503 bytes= protocol=https 2020-09-03T00:57:56.809188+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=XXXX.com request_id=ReqID2 fwd="FWD" dyno= connect= service= status=503 bytes= protocol=https

*初心者でよくわからないのですが個人情報もあるかもしれないので念のため,アプリ名をXXXXで, ID, fwdあたりの番号は単語に置き換えて貼っておきます。

アップデートするときに行ったこと

  • 今までrouteは"/"だけだったが,"/hoge"のrouteも追加した。->ローカルでは動いているので問題ない気がする
  • bootstrapでカスタマイズCSSを作って追加した。-> 該当のhtmlファイルに追記済。
  • 特に新たなパッケージをpip installしたわけじゃないので,requirements.txtには問題ない気がするが,念のために pip freeze > requirements.txtは実行済

補足情報

requirements.txt

certifi==2020.6.20 click==7.1.2 Flask==1.1.2 gunicorn==20.0.4 itsdangerous==1.1.0 Janome==0.3.10 Jinja2==2.11.2 MarkupSafe==1.1.1 Werkzeug==1.0.1 wincertstore==0.2

Procfile

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

app.py(メインファイル/一部処理省略)

python

1import sys 2import os 3import re 4from flask import * 5from janome.tokenizer import Tokenizer 6 7 8app=Flask(__name__) 9 10class process(): 11 def analy(): 12 #処理省略 13 return outputs 14 15@app.route("/", methods=["GET", "POST"]) 16def getInput(): 17 if request.method=="GET": 18 return render_template('index.html', title="タイトル") 19 else: 20 original=request.form['inputs'] 21 translated=process.analy() 22 try: 23 return render_template('index.html', title="タイトル", original=original, translated=translated) 24 except: 25 return render_template('index.html', title="タイトル", original=original) 26 27@app.route("/hoge", methods=["GET", "POST"]) #今回追加した部分 28def getURL(): 29 if request.method=="GET": 30 return render_template('hoge.html', title="タイトル") 31 else: 32 pageURL=request.form['pageURL'] #ユーザーのインプット 33 return render_template('hoge.html', title="タイトル", URLtoOpen=pageURL) 34 35if __name__=="__main__": 36 app.run(host="0.0.0.0", port=int(os.environ.get("PORT", 5000)), debug=True)

ファイルの配置

/dic (プログラムの処理に必要なものが入ってる)
-必要なファイル(.txt, .csv)
/static (bootstrap用)
-/css
-bootstrapのcssファイルと,カスタマイズcsvファイル
-/js
-bootstrapのjsファイル
/templates (bootstrap用)
-index.html
-layout.html
-hoge.html
app.py
Procfile
requirements.txt


もしよろしければ,解決方法になりそうなヒントがあればご教授よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

web dyno がクラッシュしたかタイムアウトしています
質問欄の冒頭に記載されている Heroku のログの直前にエラーの原因が記載されている可能性があります

H10 - App crashed | Heroku Error Codes | Heroku Dev Center

A crashed web dyno or a boot timeout on the web dyno will present this error.

console

12010-10-06T21:51:04-07:00 heroku[web.1]: State changed from down to starting 22010-10-06T21:51:07-07:00 app[web.1]: Starting process with command: `bundle exec rails server -p 22020` 32010-10-06T21:51:09-07:00 app[web.1]: >> Using rails adapter 42010-10-06T21:51:09-07:00 app[web.1]: Missing the Rails 2.3.5 gem. Please `gem install -v=2.3.5 rails`, update your RAILS_GEM_VERSION setting in config/environment.rb for the Rails version you do have installed, or comment out RAILS_GEM_VERSION to use the latest version installed. 52010-10-06T21:51:10-07:00 heroku[web.1]: Process exited 62010-10-06T21:51:12-07:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=myapp.herokuapp.com fwd=17.17.17.17 dyno= connect= service= status=503 bytes=

この例は Rails ではありますが、
web の Dyno で bundle exec rails server -p 22020 のコマンドを実行させようとして、
Rails 2.3.5 が不足しているためにプロセスが失敗していることを示しています

同様に、Python のエラーが出ていないか確認してみましょう

投稿2020/09/03 02:13

y_shinoda

総合スコア3272

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Saaaya11

2020/09/03 02:19

迅速な回答感謝いたします。 なるほど,赤字で書いているところしか見ておりませんでした。今確認したら,herokuのメモリ超過のエラーだとわかったので,対処法を調べてみます。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問