故障箇所の特定方法
クロール例外のあるRSSフィードを新規に追加する場合は、以下の手順でトラブルシューティングを行うことをお勧めします:
- 基本的な検証オンラインのRSS検証ツール(例:W3C Feed Validation Service)を使ってフィードのフォーマットをチェックする。
- ログ分析Githubアクション(.github/workflowsディレクトリ)のcron-jobログを見る。
体系的なソリューション
- プロキシ設定: ウォールド・オフショア・ソースの場合は、cron_job.ymlにプロキシ設定エントリーを追加する。
- 耐障害性メカニズム: src/scraper.jsを修正し、リトライロジックを追加する。
- 構文解析の最適化特殊なフォーマットの場合:
- Puppeteerを使った動的なウェブページのレンダリング(Dockerの設定を調整する必要がある)
- JSONフォーマットのソースをaxiosライブラリでリクエストに変更
予防メンテナンス
RSSソースに対する健康診断システムを確立することが推奨される:
- Firestoreにfeed_statusコレクションを作成し、クロールの成功率を記録する。
- Discord Webhookアラートの設定(プロジェクトのalert-systemブランチを参照)
- 不安定なソースに対するReadability APIの二次解析の有効化
この答えは記事から得たものである。Audibit:人気の技術記事をすぐに聴ける音声ポッドキャストにするについて