Herokuのheroku consoleはHTTP POSTで通信している事に最近気づいた

期限が近づいたこともあり、最近HerokuのLogging(expanded)アドオンを入れました。これによってtail表示が出来る様になり、垂れ流したまま別件でconsoleを開いたところ見慣れないリクエストがありました。

2011-05-12T14:10:56+00:00 heroku[router]: POST koshigoe.heroku.com/_heroku/console dyno=web.1 queue=0 wait=3681ms service=4371ms bytes=183

ここで、気づきました。heroku consoleはウェブと同じくdynoを使うんだ、と。要するに、consoleで下手に時間がかかる処理を実行してしまうと、その間ウェブの応答が出来なくなるわけです(勿論、お金を払ってdynoを増やしていれば別ですが)。

更に、気になることが。heroku rakeは…、大丈夫でした。ログのsourceとprocessを見ると、ウェブとheroku consoleではapp[web.1]と出ますが、heroku rakeはheroku[rake.1]と出ます。また、sh "sleep 10"といったタスクを実行して待ち時間でウェブにリクエストしても問題なく応答します。

heroku rakeの詳細を把握していないことに今更気づかされたりもしていますが一安心です。

DotCloudのSSH解放は革命ですよね。Heroku的に考えて。