Heroku: Không thể chạy nhiều hơn 1 dynos kích thước miễn phí


82

Tôi đã cố gắng chạy

heroku run rake db:migrate

Và nhận được lỗi

Không thể chạy nhiều hơn 1 dynos kích thước miễn phí.

Xem bên dưới để biết cách khắc phục ...

Câu trả lời:


112

Hiệu quả nhất

trong bảng điều khiển chạy:

heroku ps

kết quả là một số như thế này:

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

Vì vậy, các con số 4859 đại diện cho phiên đang mở và cần phải đóng lại. Để sửa lỗi bạn cần chạy (Obviusly, thay số 4859 bằng số có được):

heroku ps:stop run.4859

Đó là một giải pháp rất đơn giản.


Điều này đã giúp tôi. Và câu trả lời này mang tính mô tả nhiều hơn câu trả lời được chấp nhận.
Barun

126

Câu trả lời là tìm kiếm bất kỳ phiên heroku nào đang mở (bạn có thể sử dụng 'heroku ps' như john chỉ ra bên dưới), trong trường hợp của tôi, tôi đã bắt đầu phiên điều khiển heroku trước đó 30 phút và chỉ quên nó. Vì vậy, nếu bạn thấy lỗi "Không thể chạy nhiều hơn 1 dynos kích thước miễn phí", chỉ cần đóng bất kỳ bảng điều khiển hiện có nào hoặc các phiên heroku khác mà bạn đã mở.

Hy vọng rằng điều này sẽ cứu ai đó trong mười phút mà tôi đã lấy lại được.


29
Bạn sẽ làm điều này thông qua heroku psvà sau đó heroku ps:stop <DYNO>để dừng quá trình.
John Beynon

14
@JohnBeynon Tôi thích đây là câu trả lời chính xác. Đã cứu mông tôi! FYI cho những người khác: lệnh đầu tiên ( heroku ps) giống như "netstat" trong linux. Sẽ hiển thị cho bạn các quy trình đang chạy. Trong trường hợp của tôi, nó trông giống như run.5656 (Free): up 2016/01/12 21:28:41 (~ 7m ago): rails c. Như bạn có thể thấy, tôi đã để nhầm bảng điều khiển rails mở. Vì vậy, tất cả những gì tôi phải làm là chạy heroku ps:stop run.5656. Easy Peasy :) Cảm ơn John!
B. Bulpett

2
Ngoài ra, hãy thử: heroku ps:stop run.9121 --app my-app-nameSố bash của tôi là 9121. Bạn có thể nhìn thấy bạn vớiheroku ps
multigoodverse

1
Mười phút là khá tốt, tôi cần 14 giờ ;-) - Tôi nghĩ đó là một vấn đề codeship (xem stackoverflow.com/questions/37683102/... )
OBU

2
Sẽ rất tốt nếu đánh dấu câu trả lời của riêng bạn là "giải pháp" vì nó giúp những người khác duyệt các chủ đề tương tự.
OBu

6

Có cùng một vấn đề và đã đến trang này. Sau khi đọc nhận ra những gì đang xảy ra nhưng muốn thêm sau đây.

chỉ cần chạy

heroku kill DYNO --app your_app_name

Sau khi đóng tất cả các bảng điều khiển đang mở.

Sau đó chạy lệnh db migrate, nó sẽ hoạt động.


1

Trong trường hợp của tôi, tôi đã chạy heroku ps:restartđể khởi động lại tất cả dynos và heroku run *lệnh hoạt động trở lại.

Ví dụ

Nếu bạn chỉ có một điều khiển từ xa Git cho Heroku, hãy sử dụng cái này:

heroku ps:restart && heroku run *

Nếu bạn có nhiều điều khiển từ xa Git cho Heroku, hãy sử dụng cái này:

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

HOẶC LÀ

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

Thay thế *bằng lệnh của bạn, ví dụ như consolebảng điều khiển Rails.


Ý tôi muốn nói your-heroku-app-nameở đây là miền phụ cho ứng dụng Heroku của bạn. Ví dụ: nếu URL ứng dụng của bạn là https://cute-cat.herokuapp.com, điều đó có nghĩa your-heroku-app-namecute-cat.

Nếu bạn không chắc chắn / quên tên điều khiển từ xa Git của mình cho Heroku là gì, git remote -vcó thể giúp bạn điều đó.

Thí dụ:

$ 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)
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.