Heroku adalah layanan cloud PaaS (platform as a service) yang mendukung banyak bahasa pemrograman. Banyak pengguna yang menggunakan Heroku untuk berbagai macam, dari melakukan testing kode, simulasi, atau bahkan dijadikan sebagai bot.
Mereka menyediakan akses gratis yang memiliki spesifikasi rendah, akan tetapi hal tersebut sudah cukup dipakai untuk menerapkan bot, yang pada dasarnya tak memakan CPU tinggi. Karena pada pengguna akun gratis, CPU yang disediakan berbasis shared, atau dibagi-bagi dengan aplikasi pengguna lainnya.
Batasan yang ada di Heroku untuk akun gratis adalah terjadinya offline terhadap aplikasi yang tak memiliki request apapun dalam kurun waktu 30 menit. Jadi apabila aplikasinya bengong (tidak dipakai apa-apa dalam waktu tersebut), maka sistem akan menonaktifkannya secara otomatis.
Menjadikan Aplikasi Heroku Aktif 24 Jam
Tak hanya bot saja, tapi seluruh aplikasi dapat dijadikan aktif selama 24 jam tanpa offline sekalipun. Caranya adalah membuat request setiap beberapa menit ke URL aplikasi, dengan begitu sistem akan menyadari bahwa aplikasi tersebut aktif dan tidak akan dimatikan.
Disini akan saya bagikan cara paling mudah dalam melakukan hal tersebut, bahkan kamu tak perlu coding lagi. Berikut ini caranya:
- Buka website Kaffeine.
- Tulis nama aplikasi Heroku kamu.
- Hilangkan centang pada I want a bedtime!.
-
Dan klik tombol
Give my app a caffeine shot every 30 minutes
. - Selesai, kini aplikasi kamu akan aktif terus selama 24 jam tiada henti.
Website Kaffeine dapat digunakan secara gratis, dan sampai saat ini sudah ada lebih dari 50 ribu aplikasi Heroku yang telah ditambahkan disana. Selain itu, kamu juga diberi akses untuk menghapus aplikasi kamu dari sana, apabila sekiranya itu sudah tidak dibutuhkan.
Tapi ketahui juga, bahwa setiap akun Heroku memiliki batasan dyno hours yang dapat dilihat pada bagian Billing. Itu tandanya jika kamu memakai dua aplikasi pada satu akun, maka dyno hours yang dikonsumsi akan dua kali lipat lebih tinggi dan memungkinkan kedua aplikasi terebut takkan bisa dihidupkan selama 1 bulan penuh.
Baca juga: Tutorial Membuat VPS di Amazon Lightsail
Sistem Aplikasi Heroku Berhenti Tapi Dyno Tetap Berjalan?
Hal ini yang harus kamu perhatikan. Bahwa suatu saat shared-dyno yang kamu gunakan akan dialihkan ke shared-dyno yang lainnya, jadi ini seperti me-restart komputer, tapi dalam kasus ini adalah merestart aplikasi.
Pada saat proses restart, seluruh proses akan dihentikan, dan kemudian akan berjalan lagi pada saat boot-up, asalkan terdapat startup. Nah jika aplikasi kamu tidak dipasang startup terhadap program yang akan dijalankan, alhasil program tersebut akan berhenti.
Solusinya adalah memasang supervisord untuk penanganan task atau program yang akan dijalankan secara minimal. Jadi tak hanya satu program saja yang bisa berjalan, tapi banyak program sesuai yang kamu atur pada konfigurasi supervisord.
Cara penerapannya mudah, kamu hanya perlu menjadikan supervisord sebagai entrypoint pada dockerfile. Saya tak dapat menjelaskannya lebih detail disini, mengingat itu akan sangat panjang jika dibahas. Jadi silakan cari cara penggunaan supervisord di Google atau Youtube.
Semoga bermanfaat dan Selamat mencoba