Heroku: no se pueden ejecutar más de 1 dinamómetro de tamaño libre

82

Estaba tratando de correr

heroku run rake db:migrate

Y estaba recibiendo el error

No se pueden ejecutar más de 1 dinamómetro de tamaño libre.

Vea a continuación cómo solucionar ...

Andrés
fuente

Respuestas:

112

Más efectivo

en la ejecución de la consola:

heroku ps

el resultado es algo así:

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

Entonces, los números 4859 representan la sesión que está abierta y debe cerrarse. Para corregir el error, debe ejecutar (obviamente, reemplace el número 4859 por el número obtenido):

heroku ps:stop run.4859

Es una solucion muy sencilla.

uomo_perfetto
fuente
Eso me ayudó. Y esta respuesta es más descriptiva que la respuesta aceptada.
Barun
126

La respuesta es buscar cualquier sesión abierta de heroku (puede usar 'heroku ps' como John señala a continuación), en mi caso, ya había iniciado una sesión de consola heroku 30 minutos antes y simplemente me olvidé de ella. Entonces, si ves el error "No se puede ejecutar más de 1 dynos de tamaño libre", simplemente cierra cualquier consola existente u otras sesiones de heroku que tengas abiertas.

Con suerte, esto le ahorrará a alguien los diez minutos que me tomó para recuperar el sentido.

Andrés
fuente
29
Lo haría a través de heroku psy luego heroku ps:stop <DYNO>para detener el proceso.
John Beynon
14
@JohnBeynon Me gusta esto como respuesta correcta. ¡Salvó mi trasero! FYI para otros: el primer comando ( heroku ps) es como linux "netstat". Le mostrará los procesos en ejecución. En mi caso parecía run.5656 (Free): up 2016/01/12 21:28:41 (~ 7m ago): rails c. Como puede ver, dejé la consola de rieles abierta por error. Así que todo lo que tenía que hacer era correr heroku ps:stop run.5656. Easy Peasy :) ¡Gracias John!
B. Bulpett
2
Alternativamente, intente: heroku ps:stop run.9121 --app my-app-nameMi número de bash era 9121. Puedes ver el tuyo conheroku ps
multigoodverse
1
Diez minutos es bastante bueno, necesitaba 14 horas ;-) - Pensé que era un problema de envío de códigos (ver stackoverflow.com/questions/37683102/… )
OBu
2
Sería bueno marcar su propia respuesta como "solución", ya que ayuda a otros a buscar temas similares.
OBu
6

Tuve exactamente el mismo problema y llegué a esta página. Después de leer me di cuenta de lo que estaba pasando, pero quiero agregar seguidores.

solo corre

heroku kill DYNO --app your_app_name

Después de esto, cierre todas las consolas abiertas.

Luego ejecute el comando db migrate, funcionará.

Manas
fuente
1

En mi caso, corrí heroku ps:restartpara reiniciar todos los dynos y el heroku run *comando funcionó nuevamente.

Ejemplos

Si solo tiene un control remoto Git para Heroku, use esto:

heroku ps:restart && heroku run *

Si tiene varios controles remotos Git para Heroku, use esto:

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

O

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

Reemplácelo *con su comando, por ejemplo, consolepara la consola Rails.


Lo que quise decir your-heroku-app-nameaquí es el subdominio de su aplicación Heroku. Por ejemplo, si la URL de su aplicación es https://cute-cat.herokuapp.com, eso significa que your-heroku-app-namees cute-cat.

Si no está seguro / olvidó cuál es su nombre remoto de Git para Heroku, git remote -vpuede ayudarlo con eso.

Ejemplo:

$ 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)
Zulhilmi Zainudin
fuente