Queue
Ngorei Queue adalah sistem antrian yang powerful untuk mengelola tugas asynchronous dalam Ngorei Framework. Mendukung multiple queue, priority queueing, batch processing, dan monitoring.
Konfigurasi Dasar
Inisialisasi Queue
$Tds = new Ngorei();
$queue = $Tds->Queue('custom_queue_table');//nama tabel kustomKonfigurasi Cache
$queue->setCacheConfig([
    'ttl' => 300,
    'prefix' => 'queue:',
    'enabled' => true,
    'views_ttl' => 60,
    'stats_ttl' => 300
]);Setup Database
// Membuat tabel queue
$queue->createQueueTable();
// Cek keberadaan tabel
if ($queue->tableExists()) {
    // Tabel sudah ada
}Cara Penggunaan
Batch Processing
Memproses multiple item sekaligus untuk meningkatkan performa.
// Proses multiple items
$results = $queue->processBatch('email_queue', function($data) {
    // Process batch data
    return sendBulkEmails($data);
}, 10); // batch size
// Results berisi informasi success/fail untuk setiap itemPriority Queue
Menambahkan item dengan prioritas tertentu. Item dengan prioritas lebih tinggi akan diproses lebih dulu.
// Push dengan prioritas
$queue->pushWithPriority('email_queue', $data, 10); // 0-10, 10 tertinggi
// Item prioritas 10 akan diproses sebelum item prioritas lebih rendahError Handling
Penanganan error yang robust untuk memastikan reliabilitas sistem antrian.
try {
    $queue->push('email_queue', $data);
} catch (Exception $e) {
    $error = $queue->getLastError();
    // Log error atau notifikasi admin
    error_log("Queue error: " . $error);
}