Use filas quando quiser uma lista durável de itens de trabalho com comportamento explícito de checkout e commit.
// Enfileirar e processar — usar filas de trabalho para tarefas em lote//// Filas permitem alinhar itens para processamento, com lógica// integrada de nova tentativa e fila de rejeitos. Ótimas para rastreamentos de listas// de páginas ou processamento ordenado de dados.// Requer um espaço de trabalho aberto.
const queueName = "pages_to_visit";
// Enfileirar vários itensconst 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("Enfileirados " + urls.length + " itens");
// Verificar tamanho da filaconst count = g.queue.count(queueName);g.log("A fila tem " + count + " item(ns)");
// Retirar e processar cada itemlet processed = 0;while (true) { const item = g.queue.dequeue(queueName); if (!item) break;
g.log("Processando: " + item.data.url);
// Faça seu trabalho aqui (navegar, extrair dados etc.) // ...
// Commit remove da fila; abort tenta novamente depois g.queue.commit(item.id); processed++;}
g.log("Processados " + processed + " item(ns)");