Heroku:フリーサイズのdynoを複数実行することはできません


82

私は走ろうとしていました

heroku run rake db:migrate

そして、エラーが発生していました

複数のフリーサイズダイノを実行することはできません。

修正方法については、以下を参照してください...

回答:


112

最も効果的

コンソール実行時:

heroku ps

結果は次のようになります。

run.4859 (Free): up 2016/01/12 21:28:41 (~ 7m ago): rails c

したがって、番号4859は、開いているセッションと閉じる必要のあるセッションを表します。実行する必要のあるエラーを修正するには(明らかに、番号4859を取得した番号に置き換えます):

heroku ps:stop run.4859

これは非常に単純な解決策です。


これは私を助けました。そして、この答えは、受け入れられた答えよりも説明的です。
バルン

126

答えは、開いているherokuセッションを探すことです(johnが以下で指摘しているように「herokups」を使用できます)。私の場合、30分前にすでにherokuコンソールセッションを開始していて、それを忘れていました。したがって、「複数のフリーサイズdynoを実行できません」というエラーが表示された場合は、開いている既存のコンソールまたは他のHerokuセッションをすべて閉じてください。

うまくいけば、これは私が私の感覚に達するのにかかった10分を誰かに節約するでしょう。


29
これを経由heroku psしてheroku ps:stop <DYNO>から、プロセスを停止します。
John Beynon 2016年

14
@JohnBeynon正解としてこれが好きです。お尻を救った!その他の参考:最初のコマンド(heroku ps)はLinuxの「netstat」のようなものです。実行中のプロセスが表示されます。私の場合、それはのように見えましたrun.5656 (Free): up 2016/01/12 21:28:41 (~ 7m ago): rails c。ご覧のとおり、誤ってRailsコンソールを開いたままにしました。だから私がしなければならなかったのは実行することだけでしたheroku ps:stop run.5656。Easy Peasy :)ありがとうジョン!
B. Bulpett

2
または、試してみてください。heroku ps:stop run.9121 --app my-app-name私のbash番号はでした9121。あなたはであなたを見ることができますheroku ps
multigoodverse 2016

1
10分はかなり良いです、私は14時間を必要としました;
OBu

2
他の人が同様のトピックを閲覧するのに役立つので、自分の答えを「解決策」としてマークするとよいでしょう。
OBu 2016年

6

まったく同じ問題があり、このページにアクセスしました。読んだ後、何が起こっているのか気づきましたが、以下を追加したいと思います。

ただ走れ

heroku kill DYNO --app your_app_name

この後、開いているすべてのコンソールを閉じます。

次に、dbmigrateコマンドを実行します。動作します。


1

私の場合、実行heroku ps:restartしてすべてのdynoを再起動すると、heroku run *コマンドが再び機能しました。

Heroku用のGitリモート1つしかない場合は、次を使用します。

heroku ps:restart && heroku run *

Heroku用のGitリモート複数ある場合は、次を使用します。

heroku ps:restart --remote your-remote-name && heroku run * --remote your-remote-name

または

heroku ps:restart --app your-heroku-app-name && heroku run * --app your-heroku-app-name

Railsコンソールなどの*コマンドに置き換えますconsole


your-heroku-app-nameここで意味するのは、Herokuアプリのサブドメインです。たとえば、アプリのURLが、の場合https://cute-cat.herokuapp.com、それはyour-heroku-app-nameですcute-cat

HerokuのGitリモート名がわからない/忘れている場合は、それgit remote -vを支援できます。

例:

$ git remote -v
this-is-the-remote-name      https://git.heroku.com/xxx.git (fetch)
this-is-the-remote-name      https://git.heroku.com/xxx.git (push)
this-is-another-remote-name  https://git.heroku.com/yyy.git (fetch)
this-is-another-remote-name  https://git.heroku.com/yyy.git (push)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.