𝗪𝗵𝗲𝗻 𝘁𝗼 𝗤𝘂𝗮𝗿𝗮𝗻𝘁𝗶𝗻𝗲 𝗮 𝗕𝗿𝗼𝘄𝘀𝗲𝗿 𝗣𝗿𝗼𝗳𝗶𝗹𝗲
ブラウザプロファイルのリースは、並行性の問題を解決します。どのワーカーがプロファイルを所有しているかを識別できます。
しかし、自動化に失敗した後、新たな疑問が生じます。
このプロファイルは、まだ再利用しても安全でしょうか?
「所有権」と「健全性」は別物です。ワーカーは、プロファイルを不明な状態にしたままリースを解放することがあります。プロファイルには、新しいクッキー、変更されたトークン、あるいは未完了のフォームが残っているかもしれません。
そのプロファイルをすぐに次のワーカーに渡してしまうと、そのワーカーもダメージを引き継ぐことになります。
だからこそ、「隔離(クアランティン)状態」が必要なのです。
隔離とは、失敗後の状態を指します。つまり、アカウント、セッション、または環境を信頼できないことを意味します。
ブラウザ自動化において、プロファイルは単なるフォルダ以上のものです。以下の情報を保持しています: • クッキーとローカルストレージ • ログイン状態と権限 • プロキシ設定と言語 • 最近のタスク履歴
ログイン後に実行が失敗した場合、リスクは高くなります。予期しないリダイレクト、認証プロンプト、あるいはセッション切れに直面する可能性があります。
すべての失敗に対して隔離を行う必要はありません。以下のような場合は不要です:
- ブラウザが起動しなかった
- プロファイルが一度も開かれなかった
- リース取得前にワーカーが失敗した
- 実行が公開ページのみに触れた
- ブラウザが正常に終了した
隔離が不可欠なのは、以下のような場合です:
- プロファイルを開いた後にワーカーがクラッシュした
- 実行が認証済みエリアに到達した
- セッション状態やクッキーが変更された
- 非冪等(ひべきとう)なアクション(フォームの送信など)の付近で失敗が発生した
- 実行中にプロキシやリージョンが変更された
- 証拠が不完全である
単純なスケジューラは、プロファイルがロックされているか解除されているかを確認するだけです。プロフェッショナルなシステムでは、より多くの状態を使用します: • Available(利用可能): 作業準備完了 • Leased(リース中): 使用中 • Cooldown(クールダウン): 短い休憩が必要 • Quarantined(隔離): 失敗によって生じた不確実性 • Needs Review(要確認): 人間による検査が必要 • Retired(廃止): 再利用禁止
隔離されたプロファイルは、何らかの決定を下さなければなりません。単に忘れ去られる待機場所であってはなりません。プロファイルID、最終URL、スクリーンショット、およびエラー理由を記録するために活用してください。
失敗したアカウント環境を、クリーンな入力として扱うのはやめましょう。リースは衝突を防ぎ、隔離は失敗の連鎖を防ぎます。
Source: https://dev.to/web4browser/when-a-browser-profile-should-be-quarantined-after-automation-failure-gpk