2016-05-06 4 views
0

セレンの最大の問題は、ブラウザを再オープンする時間が長いことです(数分おきます)。私もプロキシを使用し、Pythonのスレッドを使って複数のブラウザを実行しています - 新しいジョブが来ると数分ごとに開始/停止します。Python/Celery/Seleniumの連続タスク(ブラウザの再オープンは避けてください)

セロリの使用を開始して(アウト・オブ・ボックス・マルチコア・サポート)、セレン・ブラウザのオープン・インスタンスを正確に取得するのを待って、ワーカー(異なるプロキシ/ブラウザ)を無期限に実行することを考えていましたスクラップするURL - redisのようなものを介してフィードします。

このような連続作業をセロリで実行するのは良い考えですか?これを行うには良い方法はありますか?

答えて

1

セレンのオープンインスタンスを無期限に保持することは絶対に避けてください。 ベストプラクティスは、各タスクを再開することです。

あなたの質問では、私の意見では、それは良い考えではありません。

代わりに別のアーキテクチャを提供しましょう。すべてがセットアップされたら

が正しくタスクはマルチプロセッシングで、容易になるだろうドッカー

を使用して、セレンマシンを実行するには

使用Docker
基本的には(グーグルlinkにつながる最初の)selenium-gridを作成 は、すべてのセレンハブに送りますジョブは並行して
となり、必要なだけ多くのコンテナで同時に実行されます。
ジョブが完了したら、コンテナを破棄して次のサイクルで新しく開始することができます。

ドッカーを使用すると、操作が非常に簡単になります

関連する問題