Latihan 1: Deploy Node.js — Node.js

Latihan 1 dari materi Deploy Node.js di Node.js — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.

Simulasikan dua hal yang dicek saat deploy: health check dan graceful shutdown.

Kode awal sudah punya appVersion = "1.0.0", appEnv = "production", healthCheck() yang mengembalikan object { status: "ok", version: appVersion, environment: appEnv }, gracefulShutdown() yang mencetak tiga baris, dan di bawahnya baris yang mencetak Health check: plus JSON.stringify(healthCheck()), lalu memanggil gracefulShutdown(). Biarkan semuanya, lalu:

  1. Di gracefulShutdown(), tukar dua baris tengahnya supaya Menutup HTTP server... tercetak sebelum Menutup koneksi database.... Urutan ini ikut dinilai, karena ini urutan yang benar: server berhenti menerima request dulu, database ditutup terakhir.
  2. Masih di dalam gracefulShutdown(), tambahkan baris penutup console.log("Server berhasil di-shutdown");.

Output yang diharapkan:

Health check: {"status":"ok","version":"1.0.0","environment":"production"}
Menerima signal SIGTERM...
Menutup HTTP server...
Menutup koneksi database...
Server berhasil di-shutdown

Yang dinilai: kelima baris output persis seperti di atas, berurutan (jadi Menutup HTTP server... sebelum Menutup koneksi database...); kodenya punya return { ... status ... } dan sebuah function bernama ...shutdown. Lalu kodemu dijalankan lagi: healthCheck() harus memberi status, version dan environment yang bisa dibaca satu per satu (ok|1.0.0|production), dan memanggil gracefulShutdown() sekali lagi harus mencetak Server berhasil di-shutdown lagi. Jadi baris penutupnya di dalam function, bukan di bawah pemanggilannya.

Hint