問題タブ [beanstalkc]
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 - Python で beanstalkc を使用して URL をキューに入れ、ジョブを実行する方法
spider
引数として取るという名前の関数がありseed
ます。seed
スパイダー関数に送信する URL の名前です。ここで私の質問は、Python で beanstalkc を使用して URL をキューに入れ、ジョブを実行する方法です。
python - Beanstalkc タイムアウトの質問
URLのリストを解析する必要があるプログラムのキューイングプロセスに、Pythonでbeanstalkcを使用しています。したがって、任意の URL による膨大な時間の消費を避けるために、Beanstalk でタイムアウトを使用しています。しかし、それを使用した後でも、私のプロセスは制限内でタイムアウトせず、いくつかの URL の解析に多くの時間を費やしています。次のコードを使用しています。
beanstalkd - beanstalkc を使用して、すべての予約済みジョブが完了したかどうかを確認します
スクリプトの 1 つに、beanstalkd でキューに入れられた残りのジョブがすべて完了したかどうかを知らせたいと思っています。
現在、すべてのジョブ ID を反復処理し、peek() を実行して、何かが返されるかどうかを確認することを計画しています。
これを行うよりエレガントな方法はありますか?
python - beanstalkd からのジョブの取得 - タイムアウト例外
をクライアント ライブラリとして使用Python 2.7
しbeanstalkd server
て います。beanstalkc
ジョブのサイズにもよりますが、各ジョブの処理には約 500 ~ 1500 ミリ秒かかります。
私はcron
、Beanstalkd キューにジョブを追加し続けるジョブと、ジョブを取得して処理する無限ループで実行される「ワーカー」を持っています。
例えば:
これにより、"timed out"
例外が発生します。
これはキューからジョブを取得するためのベスト プラクティスですか?
誰かがここで私を助けてくれませんか?
service - 再起動せずに beanstalkd 構成を再ロードします
実際にbeanstalkdを再起動せずにbeanstalkd設定をリロードする方法はありますか?
sudo service beanstalkd restart
または使用するsudo service beanstalkd force-reload
と、すべてのキューがクリアされます。
(はい、将来的には永続モードで実行します)
python - キューからジョブを受信中のノンブロッキング WebSocketHandler
設定:
- Tornado HTTP/WebSocket サーバー。WebSocketHandler はクライアントからのメッセージに反応します (例: ジョブキューに入れます)
- さまざまなコンポーネントにジョブを送信する Beanstalk ジョブ キュー
- 豆の木を介して通信する他のコンポーネントもありますが、それらは私の問題とは関係ありません。
問題:
- WebSocketHandler はジョブに反応する必要がありますが、Beanstalk をリッスンしている場合はブロックされます。ジョブは、たとえば「データ xy をクライアント xyz に送信する」などです。
これはどうすればうまく解決できますか?私の最初のアプローチは、ピクルされた WebSocketHandler のリストを含む別のスレッドで jobqueue-listener を実行することでした。すべて redis-db に保存する必要があります。WebsocketHandler は pickle 化できないため (このアプローチは非常に醜いようです)、別の解決策を探しています。
何か案は?
python - Django_beanstalkd で接続が拒否されました
私はこれに非常にこだわっています。Django に、beanstalkd を使用して vlcserver との接続を確立するアプリがあります。Vlcserver は IP カメラの rtsp ストリームからビデオをキャプチャし、その後、そのビデオは h264 形式にトランスコードされます。問題は、beanstalkd サーバーとの接続を確立しようとしたときに発生します。
この命令が実行されると、例外が表示されます: [errno 111] 接続が拒否されました。ポートはファイアウォールで開いています。これを修正するために何ができるかわかりません。助けてください。
前もって感謝します。
service - beanstalkd のデフォルト TTR を変更する
beanstalkd
標準を使用してサービスとして実行します/etc/default/beanstalkd
。
NOT_FOUND
ジョブを削除しようとすると、TTR を超えたためにジョブが解放されたため、コードでエラーがスローされることがあります。チューブに挿入されるすべてのジョブの TTR を増やしたいと考えています。
beanstalkd
ジョブのデフォルトの TTR を設定する方法はありますか? 私の推測では、/etc/default/beanstalkd のどこかでこれを変更できると思いますが、beanstalkd
ドキュメントでこれを見つけることができませんでした。
php - beanstalkc および beanstalkd でコールバックを使用する方法
ジョブが予約されているときと削除されているときに、ジョブをキューに入れました。これどうやってするの?
これはPHPでの私のコードです:
そして、これはPythonで:
python - beanstalkd でコールバックを使用するには?
3 つのマシンと 1 つのパブリッシャー、2 つのコンシューマーがあります。私はgolangを使って注文をいくつかのマシンに公開しています。そして、マシンはPythonを使用して消費者になります。パブリッシャーで注文が完了または失敗したという結果を得るにはどうすればよいか知りたいです。
注文がマシン 1 に属していない場合、どうすればよいですか? 解放するか埋めますか?
python: 消費者:
golang: 公開: