問題タブ [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.

0 投票する
1 に答える
251 参照

python - スクレイピーとギアマン

Scrapy 1.0.5 と Gearman を使用して分散スパイダーを作成しています。スパイダーを構築し、それをギアマン ワーカー スクリプトから呼び出し、一度に 20 個の URL を渡して、ギアマン クライアントからワーカー、さらにスパイダーにクロールするというアイデアです。

ワーカーを開始し、クライアントからスパイダーに URL を渡してクロールすることができます。最初の URL または URL の配列が選択され、クロールされます。スパイダーが完成したら、それを再利用することはできません。スパイダーが閉じているというログ メッセージが表示されます。クライアントを再度開始すると、スパイダーは再び開きますが、クロールしません。

これが私の労働者です:

これが私のSpiderのコードです。

最初のクライアント実行で結果が生成され、それが単一の URL であるか複数の URL であるかに関係なく、必要なデータが得られます。

2 回目の実行で、スパイダーが開き、結果はありません。これは私が返すものであり、それは停止します

ワーカーとスパイダーから 1 つまたは複数の URL を出力することができ、最初の動作中の実行と 2 回目の非動作中の実行でそれらが渡されることを確認しました。私は2日間過ごしましたが、どこにも行きませんでした。ポインタをいただければ幸いです。

0 投票する
1 に答える
172 参照

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と、すべてがうまくいきます。それはとても有線です。誰でも助けることができますか?