Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Yazı Tipi BoyutlandırıcıAa
  • Anasayfa
  • Teknoloji
    • Siber Güvenlik
    • Yapay Zeka
    • Donanım
    • Bilim
  • Yazılım
  • Savunma & İstihbarat
  • Oyun
  • Yaşam
    • Finans
    • Sinema
    • Dünyadan Haberler
  • İş Birliği
Okuma: CSV Yüklemelerinde Çökme Sorunlarını Durdurun: Laravel Job Gruplama Konusunda Usta Olun
Paylaş
Yazı Tipi BoyutlandırıcıAa
Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Ara
Bizi Takip Et
  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti
© 2026 Teknomers. All Rights Reserved.

Anasayfa » CSV Yüklemelerinde Çökme Sorunlarını Durdurun: Laravel Job Gruplama Konusunda Usta Olun

Yazılım

CSV Yüklemelerinde Çökme Sorunlarını Durdurun: Laravel Job Gruplama Konusunda Usta Olun

teknomers
Son güncelleme: 18 Mayıs 2026 18:15
teknomers
Paylaş
Paylaş

100,000 Satırlık Kabus

<p>B2B SaaS platformlarında, büyük veri işleme vazgeçilmez bir özelliktir. Kurumsal müşteriler, müşteri kayıtları, envanter veya geçmiş veriler içeren 100.000 satırlık CSV dosyaları yükleyecektir. Bu veriyi HTTP kontrolörü içinde senkron olarak parse etmeye çalıştığınızda, PHP zaman aşımına uğrayabilir, sunucu 502 Bad Gateway hatası verebilir ve kullanıcı hayal kırıklığına uğrayabilir.</p>

<p>Zaman aşımının çözümünü zaten biliyorsunuz: İşi arka plana taşıyın ve Laravel Queues kullanın. Ancak, kuyruklar yeni bir mimari problem getirir. CSV'yi parçalamak ve 1.000 ayrı arka plan görevi göndermek isterseniz, tüm sürecin ne zaman tamamlandığını nasıl bileceksiniz? Kullanıcıya nasıl bildireceksiniz? İş #450 başarısız olursa, diğerleri başarıyla geçerse ne yapacaksınız? Cevap <strong>Laravel Job Batching</strong>.</p>

<h2>Kurumsal Çözüm: `Bus::batch()`</h2>

<p>Job Batching, büyük bir dizi bireysel görevi bir araya getirmenizi, bunları kuyruk işçileriniz için eşzamanlı olarak göndermenizi ve tüm grubun tamamlandığında, ilk başarısızlığıyla karşılaştığında veya durumuna bakılmaksızın sona erdiğinde yalnızca çalışan net geri çağırmaları tanımlamanızı sağlar.</p>

<h3>Adım 1: İçe Aktarma Kontrolörünü Tasarlamak</h3>

<p>CSV'yi döngüye sokup kayıtları doğrudan kaydetmek yerine, CSV'yi okuyup daha küçük dizilere (örneğin, parça başına 500 satır) böleriz ve bir <code>ProcessCsvChunk</code> işini bir diziye ekleriz. Daha sonra grubu göndeririz.</p>

<pre><code>

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Bus;
use App\Jobs\ProcessCsvChunk;
use Throwable;

class ImportController extends Controller
{
public function importCustomers(Request $request)
{
// 1. CSV verisini oku ve parçalara ayır (bir yardımcı fonksiyon varsayıyoruz)
$chunks = $this->getCsvDataInChunks($request->file(‘import’), 500);
$jobs = [];

    foreach ($chunks as $chunk) {
        $jobs[] = new ProcessCsvChunk($chunk, $request-&gt;user()-&gt;tenant_id);
    }

    // 2. Grubu gönder
    $batch = Bus::batch($jobs)-&gt;then(function (Bus\Batch $batch) {
        // Tüm görevler başarıyla tamamlandı
        // Örneğin, bir e-posta gönder veya bir WebSocket olayı yay
        \Log::info("Import Batch {$batch-&gt;id} sorunsuz tamamlandı.");

    })-&gt;catch(function (Bus\Batch $batch, Throwable $e) {
        // İlk grup iş başarısızlığı tespit edildi
        \Log::error("Import Batch {$batch-&gt;id} başarısız oldu: " . $e-&gt;getMessage());

    })-&gt;finally(function (Bus\Batch $batch) {
        // Grup çalışması (başarılı veya başarısız) sona erdi
        \Log::info("Batch {$batch-&gt;id} yürütmesi tamamlandı.");

    })-&gt;name('Enterprise Customer Import')-&gt;dispatch();

    // 3. Hemen batch ID'sini ön uca döndür
    return response()-&gt;json([
        'status' =&gt; 'processing',
        'batch_id' =&gt; $batch-&gt;id
    ]);
}

}

<h3>Adım 2: Ön Uçta İlerlemeyi Anketleme</h3>

<p>Kontrolör, <code>batch_id</code>'sini hemen döndürdüğü için, React veya Next.js ön uçlarınız bunu kullanarak basit bir uç noktayı anketleyebilir (veya bir yayını dinleyebilir) ve kullanıcıya canlı bir ilerleme çubuğu gösterebilir. Laravel, toplam görevler ile işlenmiş görevler arasındaki farka dayanarak bu ilerlemeyi otomatik olarak hesaplar.</p>

<pre><code>

// Batch durumunu kontrol etmek için basit bir route
Route::get(‘/batch/{batchId}’, function (string $batchId) {
return Bus::findBatch($batchId);
});

<h2>Mühendislik ROI'si</h2>

<p>Job Batching uygulaması, kırılgan ve çökme riski taşıyan bir uç noktayı kurumsal düzeyde bir veri boru hattına dönüştürür. Veri alımını çok daha hızlı hale getirmek için aynı anda birden fazla kuyruk işçisini kullanmanıza olanak tanır, kutudan çıkışta gerçek zamanlı ilerleme takibi sağlar ve karmaşık başarı/başarısızlık döngüleri üzerinde tam programatik kontrol sunar.</p>

Kaynak: Orijinal Makale

Açık Kaynak Sağlık Yapay Zeka Ajanı Geliştirdim: Vektör Veritabanı Kullanmadan (Laravel 12, React, Typescript + InertiaJS + Gemini)
Monolitleri Sözsüzleştirmek: Laravel’de Olay Tabanlı Mimari
Laravel Uygulamalarını Svelte ve Vite.js ile Entegre Etme: Pratik Bir Rehber
Livewire 4 + Flux Yönetici Arayüzünü Bir Pakette Göndermek: Karşılaştığım Dört Problem
Laravel, Twilio ve OpenAI Kullanarak WhatsApp AI Asistanı Geliştirin
Bu Makaleyi Paylaş
Facebook Bağlantıyı Kopyala Yazdır
Paylaş
Önceki Makale Amazon’un Yeni Alexa Özelliğiyle Podcast Bölümleri Oluşturuluyor
Sonraki Makale Subnautica 2 İçin Krafton Çalışanlarına Önemli Teşvikler Sağladı

Sanal Medya

FacebookBeğen
452Takip Et
PinterestSabitle
237Takip Et

Son Eklenenler

Natural 30 Milyon Dolar Yatırım Alarak Ödeme Sistemlerini Yeniden Şekillendiriyor
Genel
Dünya Kupası’ndan Kaynaklanan Emisyonların %80’i Taraftan!
Genel
Palworld’un resmi TCG’si piyasaya sürülmeden 3.5 milyon paket sattı
Oyun
Sınırları Zorlayan Oyunlar: Borderlands 3 ve Risk of Rain 2 İle 15 Harika PC Oyunu 15 Dolar!
Liste
OpenAI, açık ağırlıklı modellerden mi korkuyor? ABD ne yapmalı?
Yapay Zeka
Yapay Zeka Ekonomisinde Süregelen Paradoks: Maliyetler Kontrolden Çıkıyor
Donanım
//

Siber güvenlik, yapay zeka ve savunma sanayiinden; finans ve sinema dünyasına uzanan geniş bir yelpaze. Teknomers; teknoloji, strateji ve yazılım dünyasını sade bir dille sizlerle buluşturuyor.

Kurumsal

  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti

Kategoriler

  • Teknoloji
  • Oyun
  • Sinema
  • Siber Güvenlik
  • Bilim
  • Finans
  • Dünyadan Güncel Haberler

Populer

  • TV'de Ücretsiz İzlenebilen Şifresiz Erotik Kanallar (2025 Güncel Frekans Listesi)

  • The Last of Us PC Kontrolleri: Hızlı Silah Değiştirme ve Tüm Tuşlar (2025)

  • Hogwarts Legacy'de Odaklanma İksiri Nasıl Yapılır?

Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Bizi Takip Et
© 2026 Teknomers. All Rights Reserved.
Welcome Back!

Sign in to your account

Kullanıcı Adı veya E-posta Adresi
Şifre

Şifrenizi mi unuttunuz?