콘텐츠로 이동

큐 워커

큐 워커는 큐에 들어간 항목을 지속적으로 꺼내 스크립트로 처리하는 실행 단위입니다. 많은 URL, 상품, 채용 공고, 문서 등을 여러 브라우저 탭에서 처리할 수 있습니다.

  • 대량 URL 크롤링
  • 사이트별 데이터 추출
  • 로컬 LLM을 통한 분류나 요약
  • 실패 항목 재시도
  • 워크플로 원장과 연결된 운영 처리

워커 안의 스크립트는 g.worker.getContext()로 현재 항목을 가져올 수 있습니다.

const ctx = g.worker.getContext();
const item = ctx.item;
await g.nav.navigateToUrl(item.data.url);
await g.dom.waitForDomStable();
g.store.put("results", item.data.url, {
url: item.data.url,
html: await g.page.getDom(),
});
g.queue.commit(item.id);

스크립트에서는 g.workers.start(), g.workers.stop(), g.workers.pause(), g.workers.resume(), g.workers.status()를 사용할 수 있습니다. 운영 중에는 Queue Console에서 상태를 보면서 시작, 중지, 복구를 수행하는 편이 이해하기 쉽습니다.

  • 한 항목의 처리를 작게 유지
  • 실패 이유를 로그나 Workflow Ledger에 남기기
  • 같은 항목을 다시 시도해도 깨지지 않게 만들기
  • 인증 정보는 인증 정보에 저장
  • 사이트별 속도 제한과 robots.txt 존중

관련 페이지: