問題タブ [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 に答える
341 参照

gearman - Gearman-manager: パテを閉じると速度が低下する

解決策: 私が見つけた解決策:接続を閉じるときにパテによって送信された信号を無視する低レベルのnohupプログラムを使用します。したがって、./gearman-manager start の代わりにnohup ./gearman-manager startを実行しました

注:それでも、パテを閉じるときに速度が低下した理由、またはハングアップ信号を受信した場合に最初から続行する理由を知りたいですか?


パテ セッションを閉じた後、ギアマン ワーカーの実行に問題があります。これは私が持っているものです:

  • DB 内の何かをチェックする cron ジョブで開始されるギアマン クライアント (無限ループ)。
  • Gearman Manager は、クライアントのタスクを受け取り、ワーカーへの呼び出しを管理するgearman-manager startコマンドで開始されました
  • ギアマン ワーカーが DB から読み取り/書き込みを行い、現在のジョブのステータスをエコーする

Gearman-manager を起動すると、ワーカーがタスクを受け取ったときと実行したときにワーカーからのエコーが表示されます。タスク (DB の更新) は cca で実行されます。1秒...

A) パテ セッションを閉じると、DB の変更速度が大幅に低下します (約 1/10 秒)?! これはなぜですか?

B) putty で再度ログインすると、gearman-manager の出力が画面に返されませんか? もう一度ログインして、パテを閉じる前と同じようにステータスをエコーし​​続けることを期待していましたか? これは、gearman-manager が所有者rootで開始され、エコーがユーザーgearmanとして実行された .php から来ているためでしょうか? または、再度ログインすると、プロセスがバックグラウンドにあるのでしょうか?!

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

php - GearmanJobServerからすべてのGearmanジョブを削除します

Gearman Job ServerからすべてのGearmanジョブを削除する方法はありますか?Gearmanジョブをバックグラウンドで実行するPHPアプリケーションがあります。私の単体テストでは、a)それを実行するワーカーを待っているジョブがないこととb)作業しているワーカーがいないことを確認する必要があります。後者は労働者を殺すのが簡単なのでそれほど重要ではありませんが、前者はこれを実装する方法がわかりません。

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

mysql - libdrizzle (mysql) & gearman での Bad Packet Number エラー

libdrizzle/mysql を Gearman で使用しようとすると、起動時に次のエラーが発生します。

DEBUG [ main ] libdrizzle リプレイ: def -> libgearman-server/plugins/queue/drizzle/queue.cc:562 ERROR [ main ] drizzle_row_buffer:drizzle_state_packet_read: bad packet number:4:110 -> libgearman-server/plugins/queue/霧雨/queue.cc:552

ギアマン 0.24 と 0.23 で試しました。また、dev-drizzle リポジトリからの libdrizzle7-release と、ソースからの 8.23 および 8.25 を使用します。

データベース テーブルが空であるか、データがあるかどうかに関係なく、同じエラーが発生します。

0 投票する
3 に答える
13447 参照

php - Gearman、php拡張の問題:クラス'GearmanWorker'が..端末を使用して見つかりませんが、ブラウザで動作します

最近ubuntu10.04にgearmanをインストールし、pecl拡張機能をインストールしました。さて、ブラウザで次のようなphpファイルを実行すると:

私は得るobject(GearmanWorker)#1 (0) { }

しかし、ターミナルで(ルートによって)実際のワーカーファイルを実行すると、次のようになります。

ワーカーコード:

助けてください!

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

persistence - Gearman 永続ストレージ ソリューション

最適なパフォーマンスを念頭に置いて Gearman にデータ永続化システムを導入する最適な方法は何ですか?

mysqlのキューシステムから離れてギアマンに移行しようと考えているのでお願いしています。キュー内のデータを永続化するためにリレーショナル データベースを再び使用するのはかなり奇妙に思えるので、他の可能性を探しています。

私はlibdrizzle、libsqliteなどを知っています...しかし、私はnosqlについてもっと考えています。優れた実績のある安定したソリューションは何ですか?

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

gearman - GearmanManagerのインストール

私はubuntuを初めて使用し、gearmanにgearmanmanagerをインストールしようとしています。

この場所からgearmanmanagertar.gzをダウンロードしました:https ://github.com/brianlmoon/Gearma...tarball/master

install.shからインストールしようとすると、次のエラーが発生しました。

エラー:Linuxディストリビューションをredhatまたはdebian互換として検出しています使用するPHPライブラリ、pecl/gearmanまたはPEAR::Net_Gearman?install.sh:55:選択:見つかりませんinstall.sh:57:構文エラー:予期しない「完了」

誰かがこのエラーを取り除くために正しい道に私を導いてください。

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

high-availability - 複数の Gearman サーバーが同じ libdrizzle キューを共有できますか?

libdrizzle を介して、複数の Gearmanサーバーが同じ Gearman キューを共有できますか?

これにより、単一障害点としてのギアマン サーバーが排除されるかどうか疑問に思っています。複数の Web ノードがあり、それぞれが同じギアマン サーバーと通信している場合、ギアマンが使用できなくなるとサイトが停止します。ただし、各 Web ノードが独自の Gearman サーバーを実行している (そして、そのノードによって生成されたジョブが、同じノードで実行されている Gearman サーバーのキューに入れられている) 場合、単一障害点はデータベースに移されます。(私たちのアーキテクチャでは、これはとにかく単一障害点です。)

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

amazon-ec2 - Gearmand を AWS Linux EC2 にインストールしようとすると、yum はデフォルトのリポジトリで必要なパッケージを見つけることができません

このガイドに従って、Amazon Linux 64 ビットを実行しているマイクロ EC2 インスタンスにギアマンドをインストールしようとしています: http://planet.mysql.com/entry/?id=28654

しかし、私は問題に直面しています

次の出力が得られます。

これらのパッケージをインストールするために yum に追加する必要があるリポジトリはありますか? もしそうなら、yum にリポジトリを追加するにはどうすればよいですか?

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

web-applications - セキュリティ-ギアマンのジョブIDをクライアントと共有する、悪い習慣ですか?

Gearmanジョブサーバーを自分のWebサイトのアーキテクチャに組み込むことを計画しています。特にギアマンを使用して達成することを計画している1つのタスクは、私のWebサイトでのFacebook認証です。

現在、ユーザーがFacebook JS SDKを介してFacebookアプリを承認することでサイトにログインできるようにしています。認証が成功した後、AJAX呼び出しを介してユーザーのaccess_tokenをサーバーに送信し、サーバーがaccess_tokenを取得すると、facebookGraphAPIを照会します。現在のユーザーの情報を取得し、それに応じてユーザーのセッションを設定します。FacebookAPI呼び出しをワーカースレッドにプッシュしたいと思います。

ジョブをgearmanに送信し、gearmanに遅延ジョブIDを返してもらい、そのIDをクライアントのブラウザーに送り返し、ブラウザーに設定された間隔(prob 0.5または1.0秒)でサーバーをポーリングさせて、API呼び出しが完了したかどうかを確認します。ジョブIDをサーバーに返し、ジョブの完了ステータスを確認することによって。

私の質問は、内部のジョブIDをクライアントと共有することにセキュリティ上のリスクはありますか?

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

php - Gearman(PHPを使用)-すべてのワーカーにジョブ/メッセージを送信することは可能ですか?

Gearmanは初めてですが、一般的な概念は理解しています。これはあなたが通常やりたいことではないことを私は理解しています...しかし、私はすべての労働者に「仕事」を送る方法があるかどうか疑問に思いましたか?

ワーカーを監視し、ワーカーが死んだときにリスポーンするスクリプトがあります。すべてのワーカープロセスを強制終了/リスポーンしたいときに、「死ぬ」というジョブを送信できるようにしたいと思います。

これは可能ですか?ありがとう!