問題タブ [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.
python - uniq id で Gearman Jobs のステータスを取得するには?
私が見たすべての場所で説明されているように、開いているハンドラーではなく、これらの一意の ID によって Gearman ジョブのステータスを取得する必要があります。
出来ますか?python-gearman v. 2 での使用...
助けてくれてありがとう!
php - ギアマンの問題:GEARMAN_COULD_NOT_CONNECT
「apt-getinstallgearman-server」を使用してgearmanをインストールし、PHPPECLをビルドしました。
私が労働者を試してみると:
$ gearman -w -f wc --wc -l
待ち始めます。右。
しかし、私が仕事を始めようとすると(チュートリアルで説明されているように)
$ gearman -f wc </ etc / passwd
それは言う:
ギアマン:gearman_client_run_tasks:flush(GEARMAN_COULD_NOT_CONNECT)127.0.0.1:4730-> libgearman / connection.cc:480
また、チュートリアルで説明されているPHP str_revデモを試してみると、まったく同じエラーが発生します。
PHP警告:GearmanClient :: do():flush(GEARMAN_COULD_NOT_CONNECT)127.0.0.1:4730->4行目の/root/client.phpのlibgearman/ connection.cc:480
これが私が使用したチュートリアルです:http://gearman.org/index.php?id = getting_started
誰かが私を助けることができますか?
編集:わかりました。私は次のことを行いました:「apt-getremovegearman-server」そして「apt-getinstallgearman-job-server」。これでエラーはなくなりました。しかし、もう1つの問題:ワーカーとクライアントの両方が現在フリーズしています。彼らが何かを待つように。誰かが私を助けることができますか?
php - 複数のサーバーと php ワーカーを備えた Gearman
複数のサーバーで実行されているギアマン ワーカーに問題があり、解決できないようです。
この問題は、ワーカー プロセスがキャンセルされたのではなく、ワーカー サーバーがオフラインになったときに発生し、他のすべてのワーカー プロセスでエラーが発生して失敗します。
1 つのクライアントと 2 つのワーカーのみの例 -
クライアント:
ワーカー:
ワーカー コードは 2 つの別々のサーバーで実行されています。すべてのサーバーが稼働している場合、両方のワーカーが期待どおりにジョブを実行します。ワーカー プロセスの 1 つがキャンセルされると、他のワーカーは期待どおりにすべてのジョブを実行します。
ただし、ワーカー プロセスがキャンセルされたサーバーがシャットダウンされ、完全にオフラインになると、クライアント スクリプトへの要求がハングし、残りのワーカー プロセスはジョブを取得しません。
残りのワーカー プロセスから、次の一連のエラーが発生します。
ワーカープロセスを開始せずに他のサーバーを起動すると、残りのワーカープロセスがすぐに起動し、残りのジョブを実行します。
オフラインの可能性のあるサーバーに対処するために、ワーカー プロセスに何らかのコードが必要であることは明らかですが、これを行う方法がわかりません。
どうもありがとう、
アンディ
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 から来ているためでしょうか? または、再度ログインすると、プロセスがバックグラウンドにあるのでしょうか?!
php - GearmanJobServerからすべてのGearmanジョブを削除します
Gearman Job ServerからすべてのGearmanジョブを削除する方法はありますか?Gearmanジョブをバックグラウンドで実行するPHPアプリケーションがあります。私の単体テストでは、a)それを実行するワーカーを待っているジョブがないこととb)作業しているワーカーがいないことを確認する必要があります。後者は労働者を殺すのが簡単なのでそれほど重要ではありませんが、前者はこれを実装する方法がわかりません。
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 を使用します。
データベース テーブルが空であるか、データがあるかどうかに関係なく、同じエラーが発生します。
php - Gearman、php拡張の問題:クラス'GearmanWorker'が..端末を使用して見つかりませんが、ブラウザで動作します
最近ubuntu10.04にgearmanをインストールし、pecl拡張機能をインストールしました。さて、ブラウザで次のようなphpファイルを実行すると:
私は得るobject(GearmanWorker)#1 (0) { }
しかし、ターミナルで(ルートによって)実際のワーカーファイルを実行すると、次のようになります。
ワーカーコード:
助けてください!
persistence - Gearman 永続ストレージ ソリューション
最適なパフォーマンスを念頭に置いて Gearman にデータ永続化システムを導入する最適な方法は何ですか?
mysqlのキューシステムから離れてギアマンに移行しようと考えているのでお願いしています。キュー内のデータを永続化するためにリレーショナル データベースを再び使用するのはかなり奇妙に思えるので、他の可能性を探しています。
私はlibdrizzle、libsqliteなどを知っています...しかし、私はnosqlについてもっと考えています。優れた実績のある安定したソリューションは何ですか?
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:構文エラー:予期しない「完了」
誰かがこのエラーを取り除くために正しい道に私を導いてください。
high-availability - 複数の Gearman サーバーが同じ libdrizzle キューを共有できますか?
libdrizzle を介して、複数の Gearmanサーバーが同じ Gearman キューを共有できますか?
これにより、単一障害点としてのギアマン サーバーが排除されるかどうか疑問に思っています。複数の Web ノードがあり、それぞれが同じギアマン サーバーと通信している場合、ギアマンが使用できなくなるとサイトが停止します。ただし、各 Web ノードが独自の Gearman サーバーを実行している (そして、そのノードによって生成されたジョブが、同じノードで実行されている Gearman サーバーのキューに入れられている) 場合、単一障害点はデータベースに移されます。(私たちのアーキテクチャでは、これはとにかく単一障害点です。)