問題タブ [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 投票する
3 に答える
886 参照

ruby-on-rails - Gearman アーキテクチャ クエリ

ギアマン初心者です。最適化された Gearman の使用法について、次のような質問があります。

1)ワーカーは「文字列」としての仕事を期待していると思います。配列またはハッシュをジョブとしてワーカーに送信できますか? そうでない場合、JSON は配列/ハッシュを送信するのに最適なジョブ形式ですか?

2) Rails アプリケーションのルートを Job Server のワーカーとしてアタッチできますか?

3) ワーカーが実行されているかどうかをどのように確認しますか? Job Server と Worker の統計に使用できる管理ツールはありますか?

4) すべての要求が Gearman Job Server を通過するように ROR システムを設計できますか? 同じデータベースを使用する複数のアプリケーションがあります (iPhone アプリ、Android アプリ、Web サイトなど)。私の主な目標は、これらすべてのアプリケーションの一般的な API を使用してコンテンツにアクセスすることです。それとも Gearman の方がバックグラウンド プロセスに適しているのでしょうか?

ありがとう。

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

php - Gearman を使用したバックグラウンド処理用の PHP ワーカー プールのプロパティ

Gearman についていくつか読みましたが、バックグラウンド処理のワーカー プールとして使用できるかどうか疑問に思っています。次のプロパティを持つ PHP ワーカー プールに興味があります。

A. ワーカーは同時に実行できる必要があります

つまり、ワーカー プールを持つことができるはずであり、ギアマンが複数のワーカーを別々のスレッドでディスパッチすることを期待しています。着信ジョブを待っているワーカーの数を管理するワーカー プール マネージャーが必要になる場合があります。

ギアマンはこれを提供できますか? ポイントを逃しましたか?

助けていただければ幸いです。

0 投票する
4 に答える
295 参照

logic - 「and」の代わりに && を使用すると、このループが 1 を返すのはなぜですか?

これをなぞってください...while($row = mysql_fetch_assoc($result) and $runningOK)ループで、PHP&&演算子がの代わりに使用されているand場合、実行時mysql_fetch_assocにひどく失敗し、数値だけを返します1

私は試してみましたmysql_fetch_array()が、まだ1問題があります。正しい行が返されるのは、現在のステートメント&&のようなものに置き換えるときだけです。andwhile

これを確実にするために、前、中、後にデバッグステートメントを配置しました。これがPHPの癖なのか、それとも私が説明できなかったのか知りたいです。

0 投票する
12 に答える
15435 参照

php - ギアマン労働者をうまく止める

私は多くの Gearman ワーカーを常に実行しており、ユーザー ページ ビューの記録などを保存しています。ときどき、Gearman ワーカーが使用する PHP コードを更新します。ワーカーを新しいコードに切り替えるために、ワーカーの PHP プロセスを強制終了して再起動します。

これを行うためのより良い方法は何ですか? おそらく、これらのワーカー プロセスの 1 つを強制終了すると、(それほど重要なデータではありませんが) データが失われることがあります。

編集:私に合った答えを見つけて、以下に投稿しました。

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

message-queue - Rabbitmq または Gearman - ジョブ キューの選択

職場では、電子メールの送信、PDF の作成、一部のデータの処理などのためにジョブ サーバーを構築する必要があります。明らかに、ある種の汎用キュー システムを構築したいと考えています。私は Gearman に精通しており、それがまさに解決しようとしている問題であることを知っています。それは、労働者が仕事を取りに来るキューに仕事を入れることです。ただし、Rabbitmq について多くの言及があり、このシナリオでどのように使用されているかは不明です。

Rabbitmq は分散ジョブ システムを構築するための優れたフレームワークですか?

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

php - RabbitMQを使用したギアマンタイプのアプリケーションの構築

RabbitMQメッセージングシステムを使用してGearmanのような「ジョブ割り当て」システムを実装するためのベストプラクティスの一般的な概要を探しています。

だから基本的に私はキューを読んでフォークする何かを持っているだろうか?ジョブを実行するインスタンス?

任意の洞察をいただければ幸いです。

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

message-queue - 遅延のあるシンプルでスケーラブルな作業/メッセージキュー

タスクの遅延を設定するオプションを使用してジョブ/メッセージキューを設定する必要があります。これにより、フリーワーカーがすぐに取得するのではなく、一定時間後に取得するようになります(タスクごとに異なる場合があります)。いくつかのLinuxキューソリューション(rabbitmq、gearman、memcacheq)を調べましたが、どれもこの機能をそのまま提供しているようには見えません。

これをどのように達成できるかについてのアイデアはありますか?

ありがとう!

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

ruby-on-rails - Resque または Gearman - バックグラウンド ジョブに適したツールの選択

書き込み要求の約 50% で、最終的に複数のデータ ストアにデータをプッシュし、それらのデータ ストアに多数のレコードを挿入および更新する Web アプリケーションを開発しています。応答時間を改善するために、このようなリクエストをバックグラウンドで非同期に処理したいと考えています。

私たちの Web アプリケーションは Ruby on Rails で書かれています。

私が傾倒している 2 つのソリューションは、Resque と Gearman です。

Resque: 詳細はこちら: http://github.com/blog/542-introducing-resque Resque は Ruby に非常に適しているようで、特にバックグラウンド ジョブ処理に適しています。「バックグラウンド ジョブは、実行に応答する任意の Ruby クラスまたはモジュールにすることができます。既存のクラスをバックグラウンド ジョブに簡単に変換したり、特に作業を行うための新しいクラスを作成したりできます。」

Gearman: 非同期処理のバックグラウンド ジョブ専用というわけではありませんが、それは間違いなくできることです。どうやらより堅牢なようです。Gearman のもう 1 つの利点は、クライアント コードが Ruby で記述されていても、ワーカー コードが PHP で記述されている可能性があることです。現時点では完全に Ruby on Rails アプリですが、将来、当面の仕事に応じて PHP やその他の何かを使用する可能性があるかどうかはわかりません。

あなたは何をお勧めします?どちらかの経験はありますか?2 つのうちどちらかを選択する際に、実際の制作上のどのような課題に留意する必要がありますか? そして、ここでリンゴとリンゴを比較していますか?

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

gearman - ギアマン ジョブ サーバーを優先しますか?

同じワーカーを実行している 2 台のマシンがあります。1 台のマシンは非常に強力なので「プライマリ」にする必要があり、もう 1 台のマシンは、プライマリ マシンがダウンまたはクラッシュした場合のバックアップとしてサーバーに配置する必要があります。プライマリ マシンが稼働している場合、使用可能なワーカーがある限り、すべてのジョブはデフォルトでプライマリ マシンに設定されます。

私のテストから、gearmanD がジョブを送信するマシンをランダムに選択することに気付きました。ジョブを送信するマシンに優先順位を付ける方法はありますか?

例:

同じワーカーの 8 つのインスタンスを実行するプライマリ マシン 1 つのインスタンスを実行するバックアップ マシン

すべきこと: ジョブ キューをいっぱいにするために使用可能なワーカーがなくなるまでプライマリ マシンを使用し、その後バックアップ マシンに進みます。

これを達成する方法はありますか?

みんな、ありがとう!

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

python - Pythonデーモンサブプロセスが起動時に機能しない

起動時に起動するPythonデーモンを作成しようとしています。スクリプトの目的は、ギアマンの負荷分散サーバーからジョブを受け取り、ジョブを完了することです。pypi(http://pypi.python.org/pypi/python-daemon/)のpython-daemonモジュールを使用しています。完了しているジョブの性質は、orf(オリンパスRAW画像形式)の画像をjpegに変換することです。これを実現するために、外部プログラム(この場合はufraw)が使用されます。起動時にデーモンを起動すると問題が発生します。シェルから起動すると、デーモンは完全に実行され、作業が完了します。起動時に起動すると、サブプロセスコマンドを起動できません。

何が間違っているのかわかりません。助けてくれてありがとう。