問題タブ [beanstalkd]

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 に答える
1763 参照

linux - 「要求されたアドレスを割り当てることができません」というエラーが表示される

私はbeanstalkdを実行しようとしています

ポート番号11300で127.0.0.1を使用すると、それが機能するか、問題として他のポート

ただし、外部 IP を使用すると機能しません。

ポートか何かを有効にする必要がありますか。2番目ではなく最初のケースでどのように機能する必要がある場合

0 投票する
2 に答える
353 参照

beanstalkd - Beanstalkd の循環キュー

私は、beanstalkd アプリケーションの Python ラッパーである beanstalkc を使用しています。

私がやりたいのは、プロデューサーにいくつかのジョブ (例: 'a'、'b'、'c'、'd') を一度入れてもらい、コンシューマーが継続的にジョブを取得できるようにすることです (例: 'a' ,'b','c','d','a','b',...)。

コンシューマでは、job.reserve() でジョブを取得します。解決策は、ジョブを削除せずにジョブを予約するだけだと思っていましたが、いくつかのコンシューマー プロセスを実行した後、タイムアウト エラーが発生しました。

私は明らかに何か間違ったことをしていますが、消費者が使用するジョブを「再キューイング」する方法が見つかりませんでした。

0 投票する
0 に答える
232 参照

.net - 開く MQ チャネル/キューの数

簡単にするために、チャットのようなシステムがあるとします。これは 1 対 1 の通信です (1 人の送信者と 1 人の受信者の間で行うことができます)。送信者と受信者。MQ フレーバー (おそらくビーンズトーク) を使用して、あるユーザーから別のユーザーにメッセージを送信したいと考えています。メッセージは非常に小さいですが、Twitter のユーザー数を考えると、メッセージの数は多く、おそらくメッセージは頻繁に生成されます。これをC#で使用しています。

作成するチャネル/キューの数は?

私が最初に考えたのは、通信ごとに 1 つのチャネル (b/w 2 ユーザー) を使用することでしたが、それは何百万ものチャネルが開いていることを意味します。おそらく、アイドル状態のチャネルを閉じる代わりに再利用する方法があります。そのほうがいいでしょうか?

このコミュニケーションを行うためのより良い方法はありますか?

ありがとう :)


編集:

返信がなかったので、テストされていないデザインをここに投稿することにしました。これをスターターとして使用できるかもしれません。

各受信クライアントには一意の ID があるため、それぞれの ID 名でチューブを開くことができます。送信者は、クライアントに送信するものがあるときはいつでも、チューブの名前として宛先 ID を持つチューブ/キューを開きます。メッセージを送信します。その後、チューブを廃棄します。

理論的にはこれは機能しているように見えますが、この全体の閉鎖と再開は面倒です。

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

ruby-on-rails - アクティブレコードのないバックグラウンドジョブでのペーパークリップのメモリ不足

resque を使用して写真を処理し、ペーパークリップをバックグラウンドで s3 にアップロードします。ただし、すべてのワーカーは Rails インスタンス全体を約 120MB~150MB ロードします。

このチュートリアルは、レールをロードせずにバックグラウンド ジョブを処理できることがわかりました。 http://railscasts.com/episodes/243-beanstalkd-and-stalker

ストーカーまたは他のより良い解決策でペーパークリップを操作するにはどうすればよいですか?

ありがとう。

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

beanstalkd - beanstalkc を使用して、すべての予約済みジョブが完了したかどうかを確認します

スクリプトの 1 つに、beanstalkd でキューに入れられた残りのジョブがすべて完了したかどうかを知らせたいと思っています。

現在、すべてのジョブ ID を反復処理し、peek() を実行して、何かが返されるかどうかを確認することを計画しています。

これを行うよりエレガントな方法はありますか?

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

beanstalkd - Stalkerワーカーに含まれていないカスタムモデル

RamazeアプリケーションでStalkerをBeanstalkdと連携させようとしています。ジョブをキューに入れることは問題ありませんが、ワーカーがカスタムモデルを認識しません。これが私のjobs.rbです:

'ストーカー'を必要とするストーカーを含めるBEANSTALK_URL='0.0.0.0:11300' job'award_badges' do | args | Badge.award_badges(args [:user_id]、args [:badge_category])終了

私はストーカーjobs.rbでjobs.rbを実行し、常にエラーを受け取ります:例外NameError->初期化されていない定数バッジ

すべてのストーカーの例にはライブラリが含まれていませんが、Stalkerはそれらのクラスをどのように知っていますか?

0 投票する
2 に答える
1656 参照

beanstalkd - Pheanstalkとの古い接続

私はbeanstalkdを使用して、一部の作業を他のマシンにオフロードしています。セットアップは少し珍しいです、サーバーはインターネット上にあります(パブリックIP)が、消費者はいくつかの人々の家のadslラインの後ろにいます。そのため、クライアントとしてLinuxサーバーが動的IPを介して送信され、サーバーに接続してジョブを取得します。それはすべてPHPであり、私はpheanstalkライブラリを使用しています。

しばらくの間、すべてがスムーズに実行されますが、その後、adslはIPを変更します(プロバイダーが24時間ごとに切断-再接続を強制します)。クライアントはハングし、「予約」から外れることはありません。

リザーブにタイムアウトを設定すると役立つと思いましたが、そうではありませんでした。どうやら、クライアントはコマンドを発行してブロックし、タイムアウトをチェックすることはありません。(単純な予約ではなく)タイムアウト付きの予約を発行するだけであり、タイムアウトが発生したときにTIME_OUTを返すのはサーバーの責任です。問題は、接続が切断され(ただし、TCP / IPは、いずれかの側が相手側と通信しようとするまで、そのことをまだ認識していません)、クライアントが読み取りをブロックした場合、接続が戻らないことです。

ライブラリは、ローカルで(たとえば、サーバーに接続しようとしたときの)ある種のタイムアウトをサポートしているようですが、このシナリオを想定していないようです。

失効した接続を検出して強制的に再接続するにはどうすればよいですか?プロトコル(およびpheanstalk自体)に何らかのキープアライブがありますか?

ありがとう!

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

python - セロリか豆の木か、それとも両方か?

Celery が Beanstalk を配信メカニズムとして使用できることは知っています (ただし、理解していません)。

Beanstalkdのホームページから

「Beanstalk はシンプルで高速なワーク キューです。」

セロリホームページより

「これは、タスクのスケジューリングもサポートしながら、リアルタイム処理に重点を置いたタスク キューです。」

それは私にかなり似ているようです。では、なぜ普通の豆の木ではなくセロリを選ぶのでしょうか? または、なぜ完全に成長したセロリの代わりに豆の木を選ぶのでしょうか?

タスク/ワーク キューを Web アプリケーションに追加したいのですが、どの方法を使用すればよいかわかりません。

0 投票する
2 に答える
812 参照

php - FFMpeg + Beanstalk:プロセスをそれに渡す方法、またはBeanstalkを使用せずに同じ結果を達成する方法

私の問題は、FFMpegとMencoderは非常に機知に富んでいて、1つのプロセスでも実行するとHTTPdの速度が低下しますが、(FFMPEG / Mencoder)の複数のプロセスは完全にハングします(HTTPd)。たとえば、変換をBeanstalkで処理したいと思います。

私の具体的な質問は、現在の仕事をBeanstalkに転送する方法です。

変換をトリガーする単純なPHPコードがあります。

複数のビデオがアップロードされた場合にこれらのプロセスがすべて同時に開始されないように、Beanstalkの正しいコードはどのようになりますか?

私のニーズのためにBeanstalk以外のものを使用する方が良いと信じていて、それを実装する方法を知っているなら、それでも私はそれを見てうれしいです!

よろしくお願いします、
イリア

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

python - beanstalkd からのジョブの取得 - タイムアウト例外

をクライアント ライブラリとして使用Python 2.7beanstalkd serverて います。beanstalkc

ジョブのサイズにもよりますが、各ジョブの処理には約 500 ~ 1500 ミリ秒かかります。

私はcron、Beanstalkd キューにジョブを追加し続けるジョブと、ジョブを取得して処理する無限ループで実行される「ワーカー」を持っています。

例えば:

これにより、"timed out"例外が発生します。

これはキューからジョブを取得するためのベスト プラクティスですか?

誰かがここで私を助けてくれませんか?