コンテンツにスキップ

キューワーカー

キューワーカーは、キューに入った項目を継続的に取り出し、スクリプトで処理する実行単位です。大量の 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 で状態を見ながら開始、停止、復旧を行うのが分かりやすいです。

  • 1 項目の処理を小さく保つ
  • 失敗理由をログや Workflow Ledger に残す
  • 同じ項目を再試行しても壊れないようにする
  • 認証情報は 認証情報 に保存する
  • サイトごとの速度制限や robots.txt を尊重する

関連ページ: