Menu
CoddyTech

Batas Waktu dan Percobaan Ulang

Pelajaran 45 dari 47 dalam kursus Jaringan dengan Terminal di Coddy.

Secara default, curl menunggu sangat lama. Dalam skrip, ini adalah bug: satu host yang tidak dapat dijangkau membuat tugasmu macet sampai seseorang menyadarinya.

curl -s --max-time 5 --connect-timeout 2 URL

--connect-timeout membatasi waktu untuk membuat koneksi. --max-time membatasi keseluruhan operasi. Jika salah satunya terlampaui, kode keluar yang dihasilkan adalah 28.

Mengulangi permintaan perlu lebih banyak kehati-hatian daripada yang terlihat. Mengulangi GET atau PUT yang gagal aman, karena keduanya bersifat idempoten. Mengulangi POST dapat membuat catatan kedua, dan timeout adalah kasus terburuk untuknya: kamu tidak pernah tahu apakah permintaan pertama sudah diproses.

Jadi, ulangi permintaan baca dengan leluasa, dan pikirkan baik-baik sebelum mengulangi permintaan tulis. Jika memang harus, minta server menyediakan cara agar tindakan itu aman, seperti kunci idempotensi.

challenge icon

Tantangan

Sedang

Beri batas waktu pada permintaan yang tidak akan pernah dijawab.

Minta http://10.255.255.1/, alamat yang diam-diam menelan lalu lintas, lalu hentikan setelah 2 seconds dan cetak gave up: diikuti kode keluar curl.

Output yang diharapkan:

gave up: 28

Tanpa batas waktu, permintaan ini akan terus menunggu selama lebih dari satu menit.

Coba sendiri

Terminal
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Jaringan dengan Terminal

Latihan sendiri: Playground Terminal