問題タブ [python-gearman]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - スクレイピーとギアマン
Scrapy 1.0.5 と Gearman を使用して分散スパイダーを作成しています。スパイダーを構築し、それをギアマン ワーカー スクリプトから呼び出し、一度に 20 個の URL を渡して、ギアマン クライアントからワーカー、さらにスパイダーにクロールするというアイデアです。
ワーカーを開始し、クライアントからスパイダーに URL を渡してクロールすることができます。最初の URL または URL の配列が選択され、クロールされます。スパイダーが完成したら、それを再利用することはできません。スパイダーが閉じているというログ メッセージが表示されます。クライアントを再度開始すると、スパイダーは再び開きますが、クロールしません。
これが私の労働者です:
これが私のSpiderのコードです。
最初のクライアント実行で結果が生成され、それが単一の URL であるか複数の URL であるかに関係なく、必要なデータが得られます。
2 回目の実行で、スパイダーが開き、結果はありません。これは私が返すものであり、それは停止します
ワーカーとスパイダーから 1 つまたは複数の URL を出力することができ、最初の動作中の実行と 2 回目の非動作中の実行でそれらが渡されることを確認しました。私は2日間過ごしましたが、どこにも行きませんでした。ポインタをいただければ幸いです。
message-queue - Gearman でノンブロッキングジョブを送信するには?
result = gearman_client.submit_job("reverse_task", "Hello World!", wait_until_complete=False)
ノンブロッキング ジョブを Gearman Job Server に送信するために使用したいと考えています。ただし、result.state
常に'CREATED'
であり、result.complete
常にFalse
です。に変更wait_until_complete
するTrue
と、すべてがうまくいきます。それはとても有線です。誰でも助けることができますか?