Làm thế nào để dừng một ứng dụng trên Heroku?


199

Tôi có một ứng dụng trên Heroku đang được ít người dùng sử dụng. Tuy nhiên, tôi nhận thấy có một số vấn đề về dữ liệu mà tôi muốn khắc phục và dừng ứng dụng trong thời gian đó để người dùng không nhập bất kỳ nội dung mới nào.

Có cách nào để ngăn chặn ứng dụng trên heroku hơn là phá hủy nó không? Tôi thấy lệnh khởi động lại máy chủ ở đó ... mặc dù tôi không thấy bất cứ điều gì như 'dừng lại'

Câu trả lời:


305

Để hoàn toàn 'dừng' ứng dụng của bạn, bạn có thể thu nhỏ các dynos web xuống 0, điều này thực sự đưa tất cả các quy trình http của ứng dụng của bạn ngoại tuyến.

$ heroku ps:scale web=0
Scaling web processes... done, now running 0

5
Xin lỗi, tôi xuất hiện một trong hai lệnh có thể phù hợp. Chúc mừng
jrob00

10
Khi bạn đã sửa những gì bạn muốn, đừng quên làm heroku ps:scale web=1lại : nếu không , ứng dụng của bạn sẽ không bao giờ hồi sinh ...
mjnissim

10
Đây là giải pháp chính xác. Chế độ bảo trì không thực sự dừng ứng dụng, Nó chỉ ngăn lưu lượng truy cập đến nó. Đây phải là câu trả lời được chấp nhận.
jhoff

1
Trong Rails, nếu Procfile của bạn có một dòng bắt đầu bằng web, thì hãy sử dụng heroku ps:scale web=0, nếu không bạn có thể nhận đượcno such process type app defined in Procfile.
Minh Triet

2
Hãy nhớ rằng nếu bạn đã liệt kê các loại quy trình khác trong Procfile của mình thì bạn cũng sẽ cần đặt các loại quy trình này thành 0.
dùng344977

173

http://devcenter.heroku.com/articles/maintenance-mode

Nếu bạn đang triển khai một di chuyển lớn hoặc cần vô hiệu hóa quyền truy cập vào ứng dụng của mình trong một khoảng thời gian, bạn có thể sử dụng chế độ bảo trì tích hợp của Heroku. Nó sẽ phục vụ một trang tĩnh cho tất cả khách truy cập, trong khi vẫn cho phép bạn chạy các tác vụ cào hoặc lệnh điều khiển.

$ heroku maintenance:on
Maintenance mode enabled.

và sau đó

$ heroku maintenance:off
Maintenance mode disabled.

1
Tôi cần tắt ứng dụng Heroku của mình để kiểm tra dịch vụ giám sát (Pingdom). Dường như không có cách nào để dừng hoàn toàn một ứng dụng mà không phá hủy nó, chế độ bảo trì trả về trạng thái HTTP 503, do đó, nó phù hợp để kích hoạt dịch vụ giám sát.
Jo Liss

39

Đi đến bảng điều khiển của bạn trên heroku. Chọn ứng dụng. Có một phần dynos. Chỉ cần kéo các thanh trượt cho các dynos xuống, (giảm dynos ở bên trái), đến số lượng dynos bạn muốn chạy. Thanh trượt về 0. Sau đó lưu các thay đổi của bạn. Bùng nổ.

Theo nhận xét dưới đây: có một biểu tượng bút chì cần được nhấp để thực hiện điều này. Tôi đã không kiểm tra - nhưng tôi sẽ đặt nó ở đây trong trường hợp nó giúp.


5
Ah cảm ơn bạn. Trong bảng điều khiển mới hơn, trước tiên bạn phải nhấp vào biểu tượng bút chì nhỏ để đưa ứng dụng vào chế độ chỉnh sửa, sau đó bạn có thể làm việc với thanh trượt.
mwp

30

Bạn có thể phải cụ thể hơn và chỉ định tên ứng dụng (đây là tên của ứng dụng như bạn có trong heroku). Ví dụ:

heroku ps:scale web=0 --app myAppName 

Nếu không, bạn có thể nhận được thông báo sau:

 % heroku ps:scale web=0
Scaling dynos... failed
 !    No app specified.
 !    Run this command from an app folder or specify which app to use with --app APP.

16

Từ trang web Heroku

Dashboard => Your App Name => Resources => Pencil icon=> Flip the switch => Confirm

Giải pháp đơn giản. Làm việc tốt. :)
Naveen Kumar V

6

Bạn có thể tắt ứng dụng bằng cách sử dụng chế độ bảo trì từ bảng quản trị.

  • Chuyển đến tab cài đặt.
  • Ở phía dưới ngay trước khi xóa ứng dụng. cho phép chế độ bảo trì. xem trong ảnh chụp màn hình dưới đây.

nhập mô tả hình ảnh ở đây


Sử dụng đơn giản và thanh lịch.
Tomer

1
Chế độ bảo trì không dừng dyno, nó chỉ chặn tất cả các yêu cầu HTTP đến. Nếu bạn có một số quá trình nền đang chạy, nó sẽ tiếp tục chạy. Xem tài liệu Heroku: devcenter.heroku.com/articles/maintenance-mode
Antoine Beloeuvre

3

Nếu bạn đang sử dụng plugin nhật thực, nhấp đúp vào tên ứng dụng trong Ứng dụng My Heroku. Trong tab Processes, nhấn nút Scale. Một cửa sổ nhỏ sẽ bật lên. Tăng / giảm số lượng và chỉ cần nói OK.


2

Để XÓA ứng dụng Heroku của bạn

Điều này dành cho những người đang tìm cách XÓA một ứng dụng trên tài khoản Heroku của họ. Đôi khi bạn kết thúc ở đây khi cố gắng tìm hiểu cách xóa / xóa ứng dụng.

CẢNH BÁO: Điều này là không thể đảo ngược!

  • Chuyển đến bảng điều khiển Heroku của bạn ở đây
  • Chọn ứng dụng bạn muốn xóa.
  • Cuộn xuống cuối trang cài đặt cho ứng dụng đó.
  • Nhấn nút Xóa ứng dụng ... màu đỏ.

OP tuyên bố rõ ràng rằng họ muốn "dừng ứng dụng trên heroku hơn là phá hủy nó". Tôi chỉ nêu ra điều này vì lý do nào Bing cho thấy câu trả lời này là câu trả lời.
Yoshi Askharoun

Cảm ơn! Có lẽ điều này nên được chuyển đến một khu vực khác?
CodeValve

2

Để thêm vào các câu trả lời ở trên: nếu bạn muốn dừng Dyno bằng bảng quản trị, giải pháp hiện tại trên tầng miễn phí:

  1. Mở chương trình
  2. Trong tab Tổng quan, trong phần "Hình thành Dyno", nhấp vào "Cấu hình Dynos"
  3. Trong hàng cần thiết của phần "Dynos miễn phí", nhấp vào biểu tượng bút chì ở bên phải
  4. Nhấp vào điều khiển bật / tắt màu xanh và sau đó nhấp vào "Xác nhận"

Hi vọng điêu nay co ich.

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.