4

無料のスタートアップ バージョンを実行していることを考慮して、アプリと一緒に GAE で Web クローラーを実行することは不可能ですか?

4

4 に答える 4

3

Google はスケジューリング、キュー、およびバックグラウンド タスク API を公開していませんでしたが、外部 HTTP リクエストへの応答としてのみ処理を実行できます。クローラーのキューから一度に 1 つのアイテムを処理するハートビート サービスが必要です (GAE の制限に達しないため)。

GAE からクロールを行うには、アプリケーションをキュー (Datastore にキュー データを格納する)、外部 HTTP ハートビートに反応するキュー プロセッサ、および実際のクロール ロジックに分割する必要があります。

クォータの使用状況を手動で監視し、予備のクォータがある場合はハートビートを開始し、それが使い果たされた場合は停止する必要があります。

Google が最初に説明した API を導入すると、Google API を介してより効果的に実装される部分を書き直す必要があります。

更新: Google は、少し前に Task Queue API を導入しました。pythonおよびjavaについては、タスク キューのドキュメントを参照してください。

于 2009-03-25T12:26:35.553 に答える
1

App Engine コードは HTTP リクエストに応答してのみ実行されるため、バックグラウンドで永続的なクローラーを実行することはできません。スケジュールされたタスクの今後のリリースでは、その機能を使用するクローラーを作成できますが、理想的とは言えません。

于 2009-03-24T12:17:12.090 に答える
0

実行できる (つまり、不可能ではない) と思いますが、速度が遅く、すぐに限界に達します。CPU クォータは 5 月末にさらに引き下げられるため、お勧めしません。

于 2009-03-24T10:14:42.603 に答える
0

それが可能だ。しかし、Arachnid が書いたように、それは実際には appengine のアプリケーションではありません。なんとか機能させることができれば、無料アカウントのクォータにとどまるとは思えません。

于 2009-03-24T13:11:35.643 に答える