8
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

やはり俺のHerokuアプリはまちがっている。

Posted at

pythonの軽量WebフレームワークbottleでWebアプリっぽいものをぽちぽち作ってて、ある程度できたのでHerokuにデプロイしたところでハマった。8時間くらい!通勤中のググり時間入れると10時間いくかも? 
問題解決のプロセスが悪かったのもあり(もっとgit使えるようになっておくと捗るよ、俺)、またPythonの勉強から始めたりしてたので無益でもなかったのでいいんだけど、一応メモっとく。

問題: ローカルでは動くのにherokuでは挙動がおかしい。

ページのボタン押すとデータがセットされる→リダイレクトで元ページに戻る。というページ内容が書き直されるようにしている部分(専門用語は知らない)で、再表示されるページが崩れる! 変数値のセットにglobal使ってたのでそれをクッキーに変えたりモジュールで外に出したり色々やってみたけど、崩れる。そしてボタンを押す度に変数の状態が変わっていく、ランダムで正しい状態に戻る時もある。パターン掴めない。

原因がbottleとherokuのどちらにあるのかわからないので、両方調べた。gunicornのせいかもと思って、waitressに浮気したりもした。jinja2のことを疑ったりもした。ごめん。結局、原因はherokuの WEB_CONCURRENCYだった。
heroku config

WEB_CONCURRENCY: 3
となっていたので、昨日見たhttp://sessan.hatenablog.com/entry/2015/01/13/213226
を思い出して、heroku config:set WEB_CONCURRENCY=1としてみた。直った!この歓びを誰にか伝えむ。

web (1X)ってなってるのに、デフォでWEB_CONCURRENCY: 3ってどうよ?

8
6
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?