Sekilas, Pending dan Deprioritized di Newton tampak hampir identik.

Dalam kedua kasus, terasa seolah permintaan Anda tidak bergerak. Namun jika Anda meluangkan sedikit waktu untuk mengamati bagaimana sistem berperilaku, perbedaannya mulai terlihat jelas.

Pending biasanya terasa seperti permintaan yang hanya sedang menunggu giliran. Sistem tidak mengabaikannya—hanya saja sistem belum menjangkaunya, atau sistem sedang menunggu sumber daya atau dependensi yang diperlukan agar tersedia.

Sementara itu, Deprioritized mengirimkan sinyal yang berbeda.

Rasanya seperti sistem telah mengevaluasi permintaan, melihat beban kerja saat ini, dan memutuskan bahwa memproses tugas lain terlebih dahulu adalah pilihan yang lebih baik untuk saat ini.

Namun itu tidak berarti permintaan tersebut gagal atau menjadi tidak penting. Bisa jadi Newton sedang menyeimbangkan sumber dayanya dengan mempertimbangkan kecepatan, beban sistem, pemerataan (fairness), serta efisiensi secara keseluruhan.

Secara sederhana:

Pending = Silakan tunggu, giliran Anda akan datang.
Deprioritized = Bukan sekarang—sistem sementara memberikan prioritas lebih tinggi ke pekerjaan lain.

Yang menurut saya menarik adalah ini menunjukkan bahwa Newton tidak berperilaku seperti antrean sederhana first-in, first-out. Alih-alih memproses permintaan secara ketat berdasarkan urutan saat tiba, tampaknya ia membuat keputusan penjadwalan berdasarkan beban kerja, ketersediaan sumber daya, dan kinerja sistem secara keseluruhan.

Itulah sebabnya tidak semua penundaan berarti hal yang sama.

Kadang-kadang sebuah permintaan memang hanya sedang menunggu.

Di lain waktu, sistem memang dengan sengaja memilih untuk memproses sesuatu yang lain terlebih dahulu.

Ini perbedaan yang kecil, tetapi memahaminya memberi gambaran yang jauh lebih baik tentang bagaimana scheduler Newton kemungkinan bekerja di balik layar.
@NewtonProtocol #newt $NEWT