← Zurück zu den Rezepten

URLs in eine Warteschlange stellen und verarbeiten

URLs in eine Arbeitsbereichs-Warteschlange legen, jedes Item entnehmen und abgeschlossene Arbeit committen.

Warteschlangen und Worker Fortgeschritten JavaScript queue_and_process.js

Voraussetzungen

  • Ein geöffneter Guida-Arbeitsbereich

Erwartetes Ergebnis

Guida reiht drei URL-Datensätze ein, verarbeitet sie nacheinander und entfernt sie aus der Warteschlange.

Verwandte Dokumentation

Warteschlangen-WorkerDaten und Speicher

Quellbeispiel

queue_and_process.js

Nutzen Sie Warteschlangen, wenn eine dauerhafte Liste von Arbeitsitems mit explizitem Checkout- und Commit-Verhalten gebraucht wird.

// Queue and Process - Arbeitswarteschlangen für Batch-Aufgaben
//
// Warteschlangen reihen Items zur Verarbeitung ein, mit Retry-Logik
// und Fehlerwarteschlangen. Voraussetzung: offener Arbeitsbereich.
const queueName = "pages_to_visit";
// Mehrere Items einreihen
const urls = [
"https://example.com/page1",
"https://example.com/page2",
"https://example.com/page3"
];
for (const url of urls) {
g.queue.enqueue(queueName, {
url: url,
addedAt: new Date().toISOString()
});
}
g.log(urls.length + " Items eingereiht");
// Queue-Größe prüfen
const count = g.queue.count(queueName);
g.log("Queue enthält " + count + " Item(s)");
// Items entnehmen und verarbeiten
let processed = 0;
while (true) {
const item = g.queue.dequeue(queueName);
if (!item) break;
g.log("Verarbeite: " + item.data.url);
// Hier eigene Arbeit erledigen (navigieren, extrahieren, ...)
// Commit entfernt das Item; Abort versucht später erneut
g.queue.commit(item.id);
processed++;
}
g.log(processed + " Item(s) verarbeitet");