← Voltar às receitas

Enfileirar URLs e processá-las

Adicione URLs a uma fila do espaço de trabalho, retire cada item e confirme o trabalho concluído.

Filas e processos de trabalho Intermediário JavaScript queue_and_process.js

Pré-requisitos

  • Um espaço de trabalho Guida aberto

Resultado esperado

O Guida enfileira três registros de URL, processa um por vez e os remove da fila.

Exemplo de código-fonte

queue_and_process.js

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 itens
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("Enfileirados " + urls.length + " itens");
// Verificar tamanho da fila
const count = g.queue.count(queueName);
g.log("A fila tem " + count + " item(ns)");
// Retirar e processar cada item
let 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)");