Bagaimana cara menghentikan aplikasi di Heroku?


199

Saya memiliki aplikasi di Heroku yang sedang digunakan oleh beberapa pengguna. Namun, saya perhatikan ada beberapa masalah data yang ingin saya perbaiki dan hentikan aplikasi sementara itu sehingga pengguna tidak memasukkan sesuatu yang baru.

Apakah ada cara untuk menghentikan aplikasi pada heroku daripada menghancurkannya? Saya melihat bahwa perintah restart server ada di sana ... meskipun saya tidak melihat sesuatu seperti 'berhenti'

Jawaban:


305

Untuk benar-benar 'menghentikan' aplikasi Anda, Anda dapat skala dino web ke nol yang secara efektif mengambil semua proses http aplikasi Anda offline.

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

5
Maaf noobness saya, tampaknya perintah baik mungkin sesuai. Cheers
jrob00

10
Ketika Anda telah memperbaiki apa yang Anda inginkan, jangan lupa untuk melakukannya: heroku ps:scale web=1lagi, atau aplikasi Anda tidak akan pernah hidup kembali ...
mjnissim

11
Ini solusi yang tepat. Mode pemeliharaan tidak benar-benar menghentikan aplikasi, itu hanya mencegah lalu lintas ke sana. Ini harus menjadi jawaban yang diterima.
jhoff

1
Di Rails, jika Procfile Anda memiliki saluran yang dimulai dengan web, kemudian gunakan heroku ps:scale web=0, kalau tidak, Anda akan menerimano such process type app defined in Procfile.
Minh Triet

2
Ingatlah bahwa jika Anda telah mendaftarkan jenis proses lain di Procfile Anda, Anda harus menyetelnya menjadi nol juga.
user3344977

173

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

Jika Anda menggunakan migrasi besar atau perlu menonaktifkan akses ke aplikasi Anda untuk waktu yang lama, Anda dapat menggunakan mode pemeliharaan bawaan Heroku. Ini akan melayani halaman statis untuk semua pengunjung, sambil tetap memungkinkan Anda untuk menjalankan tugas menyapu atau perintah konsol.

$ heroku maintenance:on
Maintenance mode enabled.

dan kemudian

$ heroku maintenance:off
Maintenance mode disabled.

1
Saya perlu mematikan aplikasi Heroku saya untuk menguji layanan pemantauan (Pingdom). Tampaknya tidak ada cara untuk sepenuhnya menghentikan aplikasi tanpa merusaknya, mode pemeliharaan mengembalikan status HTTP 503, sehingga cocok untuk memicu layanan pemantauan.
Jo Liss

39

Buka dasbor Anda di heroku. Pilih aplikasi. Ada bagian dino. Tarik slider ke bawah, (penurunan dino ke kiri), ke jumlah dino yang ingin Anda jalankan. Slider masuk ke 0. Lalu simpan perubahan Anda. Ledakan.

Menurut komentar di bawah ini: ada ikon pensil yang perlu diklik untuk mencapai ini. Saya belum memeriksa - tetapi saya menaruhnya di sini untuk berjaga-jaga.


5
Terima kasih. Di dasbor yang lebih baru Anda pertama kali harus mengklik ikon pensil kecil untuk menempatkan aplikasi ke mode edit, maka Anda dapat bekerja slider.
mwp

31

Anda mungkin harus lebih spesifik dan menentukan nama aplikasi juga (ini adalah nama aplikasi seperti yang Anda miliki di heroku). Sebagai contoh:

heroku ps:scale web=0 --app myAppName 

Kalau tidak, Anda mungkin mendapatkan pesan berikut:

 % 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.


6

Anda dapat menonaktifkan aplikasi menggunakan mengaktifkan mode pemeliharaan dari panel admin.

  • Buka tab pengaturan.
  • Di bawah tepat sebelum menghapus aplikasi. aktifkan mode perawatan. lihat di screenshot di bawah.

masukkan deskripsi gambar di sini


Mudah digunakan dan elegan.
Tomer

1
Mode pemeliharaan tidak menghentikan dino, itu hanya memblokir semua permintaan HTTP yang masuk. Jika Anda memiliki beberapa proses latar belakang berjalan, itu akan terus berjalan. Lihat Heroku doc: devcenter.heroku.com/articles/maintenance-mode
Antoine Beloeuvre

3

Jika Anda menggunakan plugin gerhana, klik dua kali pada nama-aplikasi di Aplikasi Heroku Saya. Di tab Proses, tekan Tombol Skala. Sebuah jendela kecil akan muncul. Tambah / kurangi hitungan dan ucapkan OK.


2

Untuk HAPUS aplikasi Heroku Anda

Ini untuk mereka yang ingin HAPUS aplikasi di akun Heroku mereka. Terkadang Anda berakhir di sini ketika mencoba mencari tahu cara menghapus / menghapus aplikasi.

PERINGATAN: Ini tidak dapat diubah!

  • Buka dasbor Heroku Anda di sini
  • Pilih aplikasi yang ingin Anda hapus.
  • Gulir ke bawah ke bagian bawah halaman pengaturan untuk aplikasi itu.
  • Tekan tombol Hapus aplikasi ... merah.

OP secara eksplisit menyatakan bahwa mereka ingin "menghentikan aplikasi pada heroku daripada menghancurkannya". Saya hanya menunjukkan ini karena apa pun alasan Bing menunjukkan respons ini sebagai jawabannya.
Yoshi Askharoun

Terima kasih! Mungkin ini harus dipindahkan ke area yang berbeda?
CodeValve

2

Untuk menambah jawaban di atas: jika Anda ingin menghentikan Dyno menggunakan panel admin, solusi saat ini di tingkat bebas:

  1. Buka Aplikasi
  2. Pada tab Ikhtisar, di bagian "Pembentukan Dyno" klik "Konfigurasikan Dynos"
  3. Di baris yang diperlukan dari bagian "Dyno Gratis", klik ikon pensil di sebelah kanan
  4. Klik pada kontrol hidup / mati biru, lalu klik "Konfirmasikan"

Semoga ini membantu.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.