Üst

PHP Queue Sistemi (Arka Plan İşlemleri Mantığı)

  • Konuyu Başlatan Konuyu Başlatan GNG 
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 19

GNG 

Kurucu
Merhaba arkadaşlar,
Bu konuda PHP projelerinde queue (kuyruk) sistemi nasıl çalışır onu anlatıyorum. Ağır işlemleri arka planda çalıştırmak için kullanılır.




1. Queue Mantığı

[]Yapılacak işlemler sıraya alınır
[]Worker (işçi) bu işlemleri tek tek işler
[]Kullanıcı beklemeden işlem tamamlanır
[]Performans artışı sağlanır




2. Basit Queue (Veritabanı)

SQL:
CREATE TABLE jobs (
    id INT AUTO_INCREMENT PRIMARY KEY,
    task TEXT,
    status TINYINT DEFAULT 0
);




3. İş Ekleme

PHP:
<?php
$sorgu = $pdo->prepare("INSERT INTO jobs (task) VALUES (?)");
$sorgu->execute(["mail_gonder"]);
?>




4. Worker (İşleyici)

PHP:
<?php
$sorgu = $pdo->query("SELECT * FROM jobs WHERE status=0 LIMIT 1");
$job = $sorgu->fetch();

if ($job) {
    // işlem yapılır
    echo "İş yapıldı: " . $job['task'];

    $guncelle = $pdo->prepare("UPDATE jobs SET status=1 WHERE id=?");
    $guncelle->execute([$job['id']]);
}
?>




5. Cron ile Çalıştırma

Kod:
* * * * * php /home/site/worker.php

Her dakika çalışarak kuyruğu işler.




6. Kullanım Alanları


  1. []Mail gönderme sistemleri
    []Resim işleme (resize)
    []Bildirim gönderme
    []Ağır veri işlemleri




Sonuç
Queue sistemi sayesinde siteniz daha hızlı ve stabil çalışır.
Büyük projelerde olmazsa olmazdır.
 
Geri