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'

yuri
sumber

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
Ryan Daigle
sumber
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.
daniel
sumber
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.

zero_cool
sumber
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.
maudulus
sumber
17

Dari Web Heroku

Dashboard => Your App Name => Resources => Pencil icon=> Flip the switch => Confirm
Juanma Menendez
sumber
Solusi sederhana. Bekerja dengan baik. :)
Naveen Kumar V
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

imran khan
sumber
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.

ats
sumber
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.
CodeValve
sumber
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.

adlerer
sumber