Ngorei Doc
v.4.0.2

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 kustom

Konfigurasi 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 item

Priority 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 rendah

Error 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);
}