CodeBlanks Logo Icon CodeBlanks

cluster.fork

cluster.fork ile worker oluşturmayı öğrenirsin.

cluster.fork metodu

cluster.fork() metodu yeni bir işçi süreç başlatır ve bir Worker nesnesi döndürür. İşçi, ana sürecin kodunu çalıştırır; ama cluster.isMaster false olduğu için işçi bloğuna girer.

Tipik bir kullanım: CPU sayısı kadar işçi başlatmaktır. require("os").cpus().length çekirdek sayısını verir. Her işçi aynı portu dinler; cluster yükü aralarında dağıtır.

Worker nesnesi

cluster.fork() bir Worker nesnesi döndürür. Her işçinin benzersiz bir id'si, altında çalıştığı process'i ve bir send metodu vardır.

worker.send(msg) ile anadan işçiye mesaj gönderirsin. İşçi process.on("message") ile mesajı yakalar. Bu, IPC (süreçler arası iletişim) kanalıyla çalışır. Worker nesnesi ayrıca worker.process.pid ile süreç kimliğini verir; bu, loglama ve izleme için yararlıdır.

Uygulama fork metodunun türünü yaz

cluster modülünü içe aktar. typeof cluster.fork sonucunu console.log ile yaz.

Başlangıç kodu

index.js
// cluster modülünü içe aktar

// fork metodunun türünü yaz

Örnek çözüm

index.js
const cluster = require("cluster");
console.log(typeof cluster.fork);

Beklenen çıktı

function

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 İşçi başlatan metodu yaz

Soru
cluster.____()
Cevap
cluster.fork()

Açıklama: cluster.fork() yeni bir işçi başlatır.

2 cluster.fork() ne döndürür?

  • Bir dize
  • Bir Worker örneği Doğru cevap
  • Bir sayı (PID)
  • undefined

Açıklama: cluster.fork() bir Worker örneği döndürür.

3 Parçayı rolüne eşle

Kavram Anlamı
cluster.fork() İşçi başlatır
worker.process Çocuk süreç
worker.id Benzersiz kimlik
worker.send İşçiye mesaj

İleri seviye bölümündeki tüm dersler